解決在Matlab的solve函式中使用引數的問題

2021-07-02 12:19:52 字數 563 閱讀 1965

我們在使用matlab的solve這樣函式時,經常遇到這樣的情況,就是方程中含有一些已知引數以便加以控制,但是如何才能得到數值解?舉例如下:

var1=100

要解var1*x^2+20*x=0這個方程,如果直接寫

solve('var1*x^2+20*x=0','x')

是不能得到正確解的。

輸出結果為:

ans =

[        0]

[ -20/var1]

不是我們想要的結果。

仔細看一下sovle的說明,發現第乙個引數是乙個字串,而引數var1是乙個數字。需要做的是將var1的值與字串合併成乙個字串,然後求解。

如果直接連線使用:[var1,'*x^2+20*x=0']也不行,因為var1為數字,不能完成合併,需要將其轉換成字串。

幸好有num2str函式,解決方法如下:

var1=100;

solve([num2str(var1),'*x^2+20*x=0'],'x')

輸出結果為:

ans =

[    0]

[ -1/5]

matlab學習筆記009之solve函式

matlab中solve函式主要是用來求解線性方程組的解析解或者精確解。對於得出的結果是符號變數,可以通過vpa 得出任意位數的數值解!solve函式的語法定義主要有以下四種 solve eq solve eq,var solve eq1,eq2,eqn g solve eq1,eq2,eqn,va...

MATLAB利用solve函式解多元一次方程組

matlab求解多元方程組示例 syms k1 k2 k3 k1 k2 k3 solve 3 k3 6,2 k1 k2 2 k3 11,2 k1 k2 k3 1 6 或者用 k1 k2 k3 solve 3 k3 6 2 k1 k2 2 k3 11 2 k1 k2 k3 1 6 另外,可以指定未知數...

Matlab 在Matlab中如何畫圓

rectangle函式功能 建立二維矩形物件。1.1 rectangle position x,y,w,h 其中以x,y為起始座標開始,畫出長為w,寬為h的矩形。1.2 rectangle curvature a,b 指定矩陣邊的曲率,可以使它從矩形到橢圓不同變化,水平曲率x為矩形寬度的分數,是沿著...