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...