1樓:
這是一個很典型的問題哈
問題出在這裡:myfun的輸入x你是當做單個數字來處理的,而實際你plot(x,myfun(x))裡的x是一個陣列,所以在myfun的if判斷裡,只取了第一個元素x(1)做判斷,然後用判斷的結果來計算所有的x(i)
你要寫成這樣,我寫個簡單點的,你自己照著改x=-1:0.1:1;
y=x.*(x>0) - 2 * x .* (x<0)plot(x,y)
另外,你可以在matlab裡輸入[1 2 3]>2,來看一下陣列和單個數字比大小時,matlab是怎麼處理的
2樓:匿名使用者
方法1x=linspace(-10,10);
y=-(x<0)+(0<=x&x<=5).*(x.^2+3)+15*(x>5);
plot(x,y)
方法2f=maple('x->piecewise(x<0,-1,0<=x and x<=5,x^2+3,x>5,15)');
x =linspace(-10,10);
plot(x,mfun(f,x))
用matlab怎樣畫分段函式圖
3樓:很多很多
1、首先雙擊開啟matlab軟體,如圖所示。
2、然後建立一個指令碼檔案,具體方法如圖所示。
3、然後定義變數。
4、然後建立迴圈,求解分段函式。
5、然後採用以下指令畫圖。
6、然後就可以看到畫出的**如圖所示。
4樓:賈玉枝儀書
原發布者:295931600
一元分段函式圖2.二元分段函式繪圖例如:把下面的函式儲存為piecewise_xy.
m檔案functionpxy=piecewise_xy(x,y)pxy=0.5457*exp(-0.75*y^2-3.
75*x^2-1.5*x).*(x+y>1)+...
0.7575*exp(-y^2-6*x^2).*(x+y>-1)+...
0.5457*exp(-0.75*y^2-3.
75*x^2+1.5*x).*(x+y<=-1);end執行:
[x,y]=meshgrid(-3:0.1:
3);s=size(x)pxy=zeros(s(1),s(2));fori=1:s(1) forj=1:s(2) pxy(i,j)=piecewise_xy(x(i,j),y(i,j)); endendmesh(x,y,pxy)
二元分段函式圖
5樓:小杰知音
1.一元分段函式繪圖
例如:把下面的函式儲存為piecewise_x.m檔案
function f=piecewise_x(x)
f=x.^2.*(x>=0 & x<1)+cos(pi*(x-1)).*(x>=1 & x<2)+(-x.^2./(x+2)).*(x>=2 & x<=4);
end執行:
x=linspace(0,4);
f=piecewise_x(x);%計算相應函式值
plot(x,f);%繪製曲線
hold on;
plot(1*ones(1,2),ylim,'r:');%畫區間間隔線
plot(2*ones(1,2),ylim,'r:');%畫區間間隔線
2.二元分段函式繪圖
例如:把下面的函式儲存為piecewise_xy.m檔案
function pxy=piecewise_xy(x,y)
pxy=0.5457*exp(-0.75*y^2 - 3.75*x^2 - 1.5*x).*(x+y>1)+...
0.7575*exp(-y^2 - 6*x^2).*(x+y>-1)+...
0.5457*exp(-0.75*y^2 - 3.75*x^2 + 1.5*x).*(x+y<=-1);
end執行:
[x,y]=meshgrid(-3:0.1:3);
s=size(x)
pxy=zeros(s(1),s(2));
for i=1:s(1)
for j=1:s(2)
pxy(i,j)=piecewise_xy(x(i,j),y(i,j));
endend
mesh(x,y,pxy)
6樓:匿名使用者
類似於這樣的樣子
plot();第一段
hold on;
plot();第二段
hold on;
plot();第三段
7樓:幽蘭書生
用hold on畫
一次畫一截,然後hold on,再畫另外一截。
matlab三元函式影象,Matlab繪製三元(三維)函式影象
phi 1 你說的常數,根據需要自己改 f d meshgrid linspace 30,200,20 linspace 2,20,20 dx2 abs phi 2 4 phi f d.2 f.2 phi f mesh f,d,dx2 xlabel f ylabel d zlabel deltax ...
matlab怎麼畫出積分函式的影象??求救
路雪天涯 plot作圖基本的兩種輸入方式 1 plot y 這個y是乙個矩陣,n行m列的話,一共會畫出m條,每條n個點 2 plot x,y x與y是同維矩陣,比如 同是1行n列,或者同是n行1列,都能作圖,只要能找到x與y一一對應的點就行,如果x與y的元素個數不能一一對應 比如不同維 那就做不出來...
為什麼這個matlab沒有影象,MATLAB中怎麼沒有顯示影象啊?
你這個x.y1.y2.y3都是乙個值,畫出圖來就是乙個點。clear clcc1 2 c2 3 sig1 2 sig2 4 x 10 c1 y1 exp x c1 2 2 sig1 2 subplot 311 plot x,y1 axis 10,50,0,1 title gaussian mf wh...