1樓:匿名使用者
使用solve函式和subs函式可以完成方程運算。
程式在附件中:
結果如下:
當v=5時,
如何用matlab解方程組
2樓:匿名使用者
matlab中解方程組還是很方便的,例如,對於代數方程組ax=b(a為係數矩陣,非奇異)的求解,matlab中有兩種方法:
(1)x=inv(a)*b — 採用求逆運算解方程組;
(2)x=a\b — 採用左除運算解方程組
ps:使用左除的運算效率要比求逆矩陣的效率高很多~
例:x1+2x2=8
2x1+3x2=13
>>a=[1,2;2,3];b=[8;13];
>>x=inv(a)*b
x =2.00
3.00
>>x=a\b
x =2.00
3.00;
即二元一次方程組的解x1和x2分別是2和3。
對於同學問到的用matlab解多次的方程組,有符號解法,方法是:先解出符號解,然後用vpa(f,n)求出n位有效數字的數值解.具體步驟如下:
第一步:定義變數syms x y z ;
第二步:求解[x,y,z,]=solve('eqn1','eqn2',,'eqnn','var1','var2','varn');
第三步:求出n位有效數字的數值解x=vpa(x,n);y=vpa(y,n);z=vpa(z,n);。
如:解二(多)元二(高)次方程組:
x^2+3*y+1=0
y^2+4*x+1=0
解法如下:
>>syms x y;
>>[x,y]=solve('x^2+3*y+1=0','y^2+4*x+1=0');
>>x=vpa(x,4);
>>y=vpa(y,4);
結果是:
x =1.635+3.029*i
1.635-3.029*i
-.283
-2.987
y =1.834-3.301*i
1.834+3.301*i
-.3600
-3.307。
二元二次方程組,共4個實數根;
解答如下:
基本方法是:solve(s1,s2,…,sn,v1,v2,…,vn),即求表示式s1,s2,…,sn組成的方程組,求解變數分別v1,v2,…,vn。
具體例子如下:
x^2 + x*y + y = 3
x^2 - 4*x + 3 = 0
解法:>> [x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0')
執行結果為
x =1 3
y =1 -3/2
即x等於1和3;y等於1和-1.5
或>>[x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3= 0','x','y')
x =1 3
y =1 -3/2
結果一樣,二元二方程都是4個實根。
通過這三個例子可以看出,用matlab解各類方程組都是可以的,方法也有多種,只是用到解方程組的函式,注意正確書寫引數就可以了,非常方便。
2、變引數非線性方程組的求解
對於求解非線性方程組一般用fsolve命令就可以了,但是對於方程組中某一係數是變化的,該怎麼求呢?
%定義方程組如下,其中k為變數
function f = myfun(x,k)
h=0.32;
pc0=0.23;w=0.18;
f=[pc0+h*(1+1.5*(x(1)/w-1)-0.5*(x(1)/w-1)^3)-x(2);
x(1)-k*sqrt(x(2))];
%求解過程
h=0.32;
pc0=0.23;w=0.18;
x0 = [2*w; pc0+2*h]; % 取初值
options = optimset('display','off');
k=0:0.01:1; % 變數取值範圍[0 1]
for i=1:1:length(k)
kk=k(i);
x = fsolve(@(x) myfun(x,kk), x0, options);%求解非線性方程組
x1(i)=x(1);
x2(i)=x(2);
endplot(k,x1,'-b',k,x2,'-r');
xlabel('k')
legend('x1','x2')
3樓:匿名使用者
用matlab求解方程組,可以用solve函式求得其解析值。
這裡用a—表示α,b—表示β,c—表示θ,d—表示η實現求解此方程組的**:
syms d pr a pd b c s w k d[pr,s]=solve((1-c)*d-pr+a*pd-(1-b)*s-pr+w==0,(1-b)*(pr-w)-k*d*s==0,'pr,s')
執行結果
4樓:兄弟連教育
s=solve('2*x*y=1,x+2=y+z,x+y-z=4','x,y,z'); %前面的引數是方程組列表,後面是未知變數列表
s.x %輸出未知數x的值
s.y %輸出未知數y的值
s.z %輸出未知數z的值
f=@(x)2*x; %定義乙個匿名函式y=2x,其中@(x)表示x是匿名函式的自變數
fplot(f,[-10,10]) %畫圖函式,第乙個引數是函式名,第二引數要畫函式的區間[-10,10]
5樓:匿名使用者
用solve函式
先舉一例,解方程"x^2+100*x+99=0"
在matlab 」command window"中輸入如下命令:
x=solve('x^2+100*x+99=0','x')首先來求乙個二元一次方程組
9x+8y=10 式1
13x+14y=12 式2
[x,y]=solve('9*x+8*y=10','13*x+14*y=12','x','y')
6樓:匿名使用者
[x,y]=solve('y=2*x+3','y=3*x-7')上面直接用命令求解。
也可以借助於矩陣,你移項一下,變成線性方程組。
a=[2,-1;3,-1];
b=[-3;7];
xy=a\b;
x=xy(1)
y=xy(2)
7樓:匿名使用者
>> syms x y;
[x,y]=solve('y-2*x-3','y-3*x+7')
8樓:匿名使用者
2x-y = -3
3x-y = 7
2 -1 x -33 -1 y 7x -3 2 -1= \
y 7 3 -1
9樓:淡桂金
一。用matlab 中的solve函式
>>syms x y; %定義兩個符號變數;
>>[x ,y]=solve('y=2*x+3','y=3*x-7');%定義乙個 2x1 的陣列,存放x,y
>>x>>x=10.0000
>>y>>y=23.0000
二。用matlab 中的反向斜線運算子(backward slash)
分析:方程組可化為
2*x-y=-3;
3*x-y=7;
ax=b (*)
a=[2,-1;3,-1]; b=[-3,7];
x=a\b %可以看成將(*)式左邊都除以係數矩陣a>>a=[2,-1;3,-1];
>>b=[-3,7];
>>x=a\b
x =10.0000 % x = 10.000023.0000 % y = 23.0000
機械波的表示式為y=0.05cos(6πt+0.06πx)(m),則
10樓:匿名使用者
研究週期:取
dux=0,y=0.05cos6π
zhit
t=2π/6π=1/3 s
研究波長:取t=0,y=0.05cos0.06πx波長λ=2π/0.06π=100/3 m
波速v=λ/t=100 m/s
當t有個很dao小的增加內時,可知影象是超x負方向有個小容的位移,所以可知波是沿著x軸負方向傳播的。
選擇:c。
18kw的用電器應該配多大的電線(380v)需要多大開關,求計算過程
11樓:苯寶寶不笨
18kw的用電器應該配6平方的銅電纜(3*6+1*4);需要多大開關根據功率公式p=1.732uicosφ
有:i=p/(1.732ucosφ)
=18/(1.732x0.38x0.
85)=32a(按三相市電計算,功率因數取0.85)查下面電纜載流量表,可選6平方的銅電纜(3*6+1*4)。距離較遠時選10平方銅電纜。
空氣開關的規格為:32,50,63,80,100,125,160,250,400,600,800,1000...(單位a)。
因此可選63a。現在的空氣開關基本可調,一般可以選大一點。
12樓:鄭州鑫亞廣告
1、功率p=1.732*u*i*cosφ 電流 i=18000/380/1.732/0.8=35a (cosφ為功率因素,一般取0.8)
2、根據電流選出電線,參考以下標準,如圖所示為10平方的線。
13樓:紫雨
電流18kw/380/1.732=電流27a左右,因為是兩相疊加功率。
安全流量選6²銅線,開關選擇32a-40a的
構造等比數列方法
14樓:匿名使用者
已知:xa(n)=ya(n-1)+z (*1)問:如何構造出等比數列,從而求出通項a(n)解:
設xa(n)-u=v(xa(n-1)-u) (*2)與xa(n)=ya(n-1)+z比較,得
vx=y,u-uv=z
解之得:v=y/x,u=z/(1-v)=xz/(x-y)外一則:
我的記憶方法:
原式: x = y z
輔助:x-y x 左乘
u,v由上面兩行第一二兩項相除,z移至最左作因子而得到。
注意:當z是n的函式時,方法照樣使用。
特例1:
2a(n)=a(n-1)+2可轉化為
2a(n)-4=(1/2)*(2a(n-1)-4)特例2:
a(n)=2a(n-1)+2^n
-1 1(輔助)
u,v=-2^n,2
a(n)-(-2^n)=2(a(n-1)+2^n)關於二階及高階遞推式,請參見:
15樓:江淮一楠
構造等比數列方法是:待定係數法
a(n+1) = 3an + n^3,構造等比數列會具有下面的形式
a(n+1) + h(n+1)^3 + i(n+1)^2 + j(n+1) + k = 3(an + hn^3 + in^2 + jn + k),h,i,j,k是待定的係數
整理上式得到
a(n+1) + hn^3 + (3h + i)n^2 + (3h + 2i + j)n + (h + i + j + k )
= 3an + 3hn^3 + 3in^2 + 3jn + 3k,繼續化簡
a(n+1) = 3an + 2hn^3 + (2i - 3h)n^2 + (2j - 2i - 3h)n + (2k - h - i -j)
比較係數可得
2h = 1
2i - 3h = 0
2j - 2i - 3h = 0
2k - h - i - j = 0
依次解出
h = 1/2
i = 3/4
j = 3/2
k = 11/8
所以數列是等比數列
如何解方程,怎麼解方程??
使方程左右兩邊相等的未知數的值,叫做方程的解。求方程的解的過程叫做解方程。必須含有未知數等式的等式才叫方程。解。求方程的解的過程叫做解方程。必須含有未知數等式的等式才叫方程。等式不一定是方程,方程一定是等式。估演算法 剛學解方程時的入解方程門方法。直接估計方程的解,然後代入原方程驗證。應用等式的性質...
如何解方程?怎麼解方程?
1.設有x隻雞,則有 100 x 只兔子,得方程 2x 4 100 x 246 解得 x 77,所以100 x 23.答 有77隻雞,23只兔子。2.設甲賣出x隻羊,則乙賣出2x隻羊,得方程 84 2x 60 63 x 解得 x 33,所以2x 66,答 甲賣出了33隻羊,乙賣出了66隻羊 3.用花...
如何用Matlab求引數方程的導數
真 clear clc syms a b t x a cos t 3 y b sin t 3 dydx diff y,t diff x,t 以下為圖形驗證 a 2 b 3 x str2func t vectorize subs x y str2func t vectorize subs y k st...