MATLAB中solve函式的問題

時間 2021-05-05 17:58:06

1樓:4終

1、首先開啟matlab,直接在命令列輸入solve函式,裡面加上方程式,如下圖所示,這裡是乙個二元一次方程。

2、接著直接回車就可以得到結果了,如下圖所示。

3、然後solve函式中還可以寫兩個方程式,如下圖所示。

4、回車後會得到兩個未知數的解,如下圖所示。

5、還可以先宣告變數,然後編寫方程式,並在solve中填入變數和方程式。

6、最後直接用點的方式得到答案即可,如下圖所示。

2樓:寇開汲祺

這是由於matlab裡面有個關於預設自變數規定問題

一般情況下預設自變數為表示式中距離x最近的字母

你可以用這種方法來求解

[x0]=solve('2600*(z0+15)=(z0-24985)*x1')

[z0]=solve('2600*(z0+15)=(z0-24985)*x1')

由於上兩行行中只有x1與z0兩個變數,而且x1與x較近,所以是求解x1

為了求解z0,可以用

[z0]=solve('2600*(z0+15)=(z0-24985)*x1','z0')

這樣的話就沒問題了

建議你指定代求變數

相關函式

findsym

查詢自變數,比較有用

3樓:匿名使用者

實際上 solve 函式預設的都把變數當作sym來運算計算出來的結果都是sym物件。

為什麼呢? 追去更高的準確度。

譬如solve('x=32/3')計算出來的是32/3 而不是小數sym物件計算出來的是乙個表示式, 而不是數值。

如果您想要得到數值結果的話,再用乙個函式eval即可[x1,y1]=solve('(x-nodee(1,1))^2+(y-nodee(2,1))^2=distance(1)^2','(x-nodee(1,2))^2+(y-nodee(2,2))^2=distance(2)^2','x,y');

x1=eval([x1]);

y1=eval([y1]);

4樓:匿名使用者

用solve函式解方程所得到的解都是符號解。

那執行結果前加上乙個double如何?

5樓:用新首熹

function

[x0,y0]=sss(a,b,c)

ifnargin

<1a=0.26;

b=0.02;

c=0.15;

endsyms

x;syms

y;temp1=(x-a)^2+(y-b)^2-c^2;

temp2=1+y^1.5-x;

[x0,y0]=solve(temp1,temp2);

x0=eval(x0);

y0=eval(y0);

6樓:簡葦唐雅愛

這樣用肯定是不行的

可以這樣用

symsab

t=a+b

[ab]=solve(t-4,'a-b=0')注意t-4沒有引號

使用matlab中的solve函式求解符號方程組的問題

不知你的什麼版本,我是2011a就告訴我no explicit solution即無解析解。沒有出現你這種情況。這個方程組就是求兩圓交點,頂多有兩組解,你仔細看解出來的x第一個和x第二個是一模一樣的。後兩個也是一樣的。我以前用低版本的matlab 7.0.1 似乎得到過你這樣的解,但是現在用新版本的...

MATLAB中的DEBLANK函式

多瑙的萊茵 deblank函式是用來刪除字串中尾部空格的一個函式。在matlab中輸入help deblank就可以檢視其用法,在裡面都有詳細介紹。matlab處理字串的函式還有 strcmp 比較兩個字串是否完全相等,是,返回真,否則,返回假 strncmp 比較兩個字串前n個字元是否相等,是,返...

matlab怎麼定義函式啊,matlab中怎麼定義一個函式?

matlab中定義函式的方式有以下幾種 1 函式檔案 呼叫函式檔案 定義多個m檔案。呼叫函式檔案 myfile.m clear clcfor x 1 10 y mylfg x end 自定義函式檔案 mylfg.m function y mylfg x 注意 函式名 mylfg 必須與檔名 mylf...