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提供了了兩種定義分段函式的方法 常規方法 使用if.else.語句定義不同的分支下面進行舉例說明 在matlab中定義如下分段函式1 常規方法 function y fun x if x 1 y x elseif x 2 y x 2 else y x 3 endreturn functi...
matlab如何用if自定義分段函式
1 與建立m檔案類似,在命令視窗中輸入edit。2 編寫函式,需要注意函式命名規則,註釋部分可有可無,用 開始。3 編寫完成後儲存檔案,最好儲存在當前工作路徑的資料夾。4 直接輸入函式名,形參,就能返回計算結果。5 和檢視其它函式說明一樣,輸入 help 函式名 就能看到這個函式的註釋說明。 舉個簡...
分段函式的導數怎麼求,分段函式間斷點導數怎麼求?必須用定義法求左右導數嗎?太麻煩了。
分段函式求導,分段求導,在斷點處,若兩邊的導數相等,則分段導數可以連線起來。當x不等於0時,f x x 2 cos1 x 當x 0時,f x a f x x 2,x 0 x小於0時,f x 2x x大於0時,f x 0 在0處,左邊導數 2 0 0 右邊導數 0 左邊 右邊 且f x 連續 所以0點...