1樓:世界屋脊吧
f的取值範圍呢,你還是想畫關於f,b的影象。
如果是f關於b的,如下:
f1=((0.5./(0.
5+(0.05+b).*f)).
^4)./((0.5.
/(0.5+(0.05+b).
*f)).^4+0.25);
f2=-1./(1+(0.05+b).*f);
f3=diff(f1,'f',1);%你上面這一行有誤吧
f4=1./((1+(0.05+b).*f).^2);
f5=1./((0.8.*(1.5+(0.05+b).*f)).^2)
f6=-1./(0.8.*(1.5+(0.05+b).*f))
f7=(1-f1).*f4.*(0.
05+b)+(1-f3).*f2.*(0.
05+b)./0.5+f1.
*f5.*(0.05+b)*0.
8+f3.*f6.*(0.
05+b)/0.5;
yy=@(b)arrayfun(@(b)fzero(@(f)(2*((b + 1/20)/(4*(f*(b + 1/20) + 1/2)^5*(1/(16*(f*(b + 1/20) + 1/2)^4) + 1/4)) - (b + 1/20)/(64*(f*(b + 1/20) + 1/2)^9*(1/(16*(f*(b + 1/20) + 1/2)^4) + 1/4)^2))*(b + 1/20))/((4*f*(b + 1/20))/5 + 6/5) - (2*(b + 1/20)*((b + 1/20)/(4*(f*(b + 1/20) + 1/2)^5*(1/(16*(f*(b + 1/20) + 1/2)^4) + 1/4)) - (b + 1/20)/(64*(f*(b + 1/20) + 1/2)^9*(1/(16*(f*(b + 1/20) + 1/2)^4) + 1/4)^2) + 1))/(f*(b + 1/20) + 1) - ((1/(16*(f*(b + 1/20) + 1/2)^4*(1/(16*(f*(b + 1/20) + 1/2)^4) + 1/4)) - 1)*(b + 1/20))/(f*(b + 1/20) + 1)^2 + (b + 1/20)/(20*(f*(b + 1/20) + 1/2)^4*((4*f*(b + 1/20))/5 + 6/5)^2*(1/(16*(f*(b + 1/20) + 1/2)^4) + 1/4)),1),b);%這一行長表示式是f7的結果
plot(0:0.1:1,yy(0:0.1:1));%畫圖
2樓:書宬
ezplot((1-f1)*f4*(0.05+b)+(1-f3)*f2*(0.05+b)/0.
5+f1*f5*(0.05+b)*0.8+f3*f6*(0.
05+b)/0.5,[-8,0,0,1])
% 這樣就可以了,不要加引號,還有f 的範圍也要加一下
matlab中關於ezplot畫圖問題 5
3樓:我行我素
提示的意思是:函式計算有失敗的地方,計算速度不如用陣列快。我給你改一下就能看出:
d2=0.008;
%a=0.002;
k=10e5;
t=293.15;
ro=1.205;
x=0.001;
ki=1.4;
a=0.0005;
a2=0.00006;
r=287.1;
p1=1e6;
%f=@(q,p2)0.9*3.1415926*(d2^2-(d2-(x-(p1*a2+p2.
*a-p2.*a2)./k)/2).
^2)/(4*ro)*p1*(2*ki.*((p2./p1).
^(ki/2)-(p2./p1).^((ki+1)/ki)).
/((ki-1)*r*t)).^(1/2)-q;
%ezplot(f)
p2=-0.5:0.001:0.5;
q=0.9*3.1415926.
*(d2^2-(d2-(x-(p1*a2+p2.*a-p2.*a2).
/k)/2).^2)./(4*ro)*p1.
*(2*ki.*((p2./p1).
^(ki/2)-(p2./p1).^((ki+1)/ki)).
/((ki-1)*r*t)).^(1/2);
plot(p2,real(q))
原來只能畫出一條豎直線,按我改的畫出的就不是直線,而且沒有提示。
matlab作圖功能ezplot 10
4樓:科技數碼答疑
你怎麼知道完全一樣呢?把他們畫在同一個視窗,同一個座標下看一下
使用plot函式
matlab使用ezplot畫圖
5樓:匿名使用者
試著指定一個適當的範圍:
ezplot('-887129.995+15573.3691*log(10^(0.
043*x-0.043*y-1.32e-3)*x/(10^(-0.
003*y-2.25*x-1.006e-3)*y))',[10 30 0 1e3])
axis auto
ezplot函式內部有一套智慧方法用來確定適回當的座標範圍答,但並不是總能奏效。如果畫圖不能出現曲線,可以嘗試增大座標範圍,例如[-1 1]*100,等看到曲線的大致位置後再進行細調。
在matlab中,用ezplot作圖,儲存資料 10
6樓:匿名使用者
h=ezplot('(80.33*exp(-x/161.5345)+273+27.
24789)*100000/(373*(1-y*0.12828))+9800*y-100000',[0 3000],[0,1.5])
x=get(h,'xdata');
y=get(h,'ydata');
7樓:匿名使用者
沒有命令可以做到,除非你修改ezplot函式本身。
將ezplot函式拷貝到你的工作目錄進行編輯,然後在輸出結果裡增加x和y的資料
matlab中m檔案裡自定義的函式的ezplot繪圖
8樓:
矩陣大小不匹配,不符合乘法規則,導致不能相乘
請教:關於matlab ezplot畫二維圖:
9樓:匿名使用者
你的目的是把a值代人表示式a.*x^2+y^2-1,但你給出的表示式兩邊是帶單引號,所以matlab認為a是變數,因而使用ezplot()函式就出現錯誤。
正確的方法是,把表示式兩邊的帶單引號取掉,即ezplot('a.*x^2+y^2-1',[-1,1,-1,1]);改為
syms x y,ezplot(a.*x^2+y^2-1,[-1,1,-1,1]);
執行結果為
10樓:起源向量
ezplot 只畫有確定的函式表示式。
嘗試用其他畫圖方法,如plot
matlab 中用函式ezplot作圖時顏色怎麼設定?
11樓:轉基因牛
ezplot在畫圖時無法指定
來顏自色,但是可以之後利用
設定語句進行設定
使用h = ezplot(sin(x)-y);獲取控制代碼然後用 set(h,'propertyname',propertyvalue,...) 這種方式實現對其的設定
顏色對應的屬性名稱為 color。
例如:h=ezplot('sin(x)')set(h,'color','k')
12樓:大海
plot指令可以在函式呼叫的時候就指定所畫圖形的格式,但是ezplot指令卻不可以
實現同樣的效果回,可以使用h = ezplot(sin(x)-y);
然後用 set(h,'propertyname',propertyvalue,...) 這種答方式實現
h=ezplot('sin(x)')
set(h,'color','k')
matlab畫圖問題
x0 1000 1500 2000 2500 3000 3500 3800 4000 y 135.33 147.10 152.98 156.91 147.10 138.27 133.37 125.53 x0太大,以x的冪作為基函式會導致設計矩陣尺度太差,列變數幾乎線性相依。變換為 1.5 1.5 範...
matlab畫圖問題
這樣表達太不經濟了。改成矩陣形式,用迴圈。假設a1 1000,具體是多少,你自己改過來 a 1000 256.3 30.91 979.4 198.9 8.9 926.8 298 18.45 1661 211.8 19.36 1923 180.5 8496 1393 174 20.84 2154 33...
matlab如何描點畫圖,matlab 如何描點畫圖
智者總要千慮 x 5 5 40 y 0.02 0.04 0.058 0.081 0.103 0.121 0.135 0.154 plot x,y 導超 分析,首先畫出離散點,再進行擬合。用直線擬合。x 5 10 15 20 25 30 35 40 y 0.02 0.04 0.058 0.081 0....