Matlab newb這裏。我已經搜查,沒有找到如何做到以下幾點:如何在Matlab中約束一個變量
x=0.1:1/100:10;
y=exp(a(a>=-1&a<=1)*sqrt(x));
plot(x,y)
我意識到,x
和a
尺寸不匹配,但我只是想表達:「這是什麼y
樣子時,常數,例如,a
,約束在-1和1之間「。
任何提示表示讚賞。提前致謝。
Matlab newb這裏。我已經搜查,沒有找到如何做到以下幾點:如何在Matlab中約束一個變量
x=0.1:1/100:10;
y=exp(a(a>=-1&a<=1)*sqrt(x));
plot(x,y)
我意識到,x
和a
尺寸不匹配,但我只是想表達:「這是什麼y
樣子時,常數,例如,a
,約束在-1和1之間「。
任何提示表示讚賞。提前致謝。
假設a
和x
是獨立的,你可以沿着這些路線走,使用bsxfun
爲a
和x
的所有組合計算y
:
x = 0.1:1/100:10; %// define x values
a = linspace(-1,1,10); %// define a values
y = exp(bsxfun(@times, a, sqrt(x).')); %'// compute y for all combinations
plot(x,y); %// this plots each column of y. Each colum represents a value of a
或情節作爲3D圖形(y
爲a
功能和x
):
mesh(a,x,y)
xlabel('a')
ylabel('x')
zlabel('y')
你可以做如下:
x=0.1:1/100:10; % 991 clips
a=-1:1/495:1; % use 1/495 here to make it also 991 clips
y=exp(a.*sqrt(x));
plot(x,y)
這會給你如下圖:
如果答案低於不幫忙,也許你可能會修改你的問題。在我看來,你想要探索exp(a * sqrt(x))的形狀,但我可能是錯的。如果是這樣,你想要一個y-x和a的三維圖,或者a如果是這樣,在什麼範圍應該有所不同? –
我只是希望二維和「不同範圍的一個我有不同範圍的一個我是感興趣,但在我提供的例子中,我對-1 <= a <= 1感興趣。我意識到在Matlab中通常有多種方法來解決問題求解,所以如果你有更多的輸入,請,我想到了這裏吧,以後當我得到積分的時候,我可以在這裏重溫一下,下面的答案對我很有幫助, – Joe