matlab 解参数为数组的方程组

matlab 解参数为数组的方程组 ,n*x=2,n*y=1。n分别为 3 6 8。做了一个循环。

syms x y n
X= zeros(3,1);
Y= zeros(3,1);
for i=1:3
n=[3;6;8];
n=n(i);
[x y]=solve('n*x=2','n*y=1','x','y');
X(i)=x;
Y(i)=y;
end
x
y

但运行后提示,从 sym 转换为 double 时出现错误。

MATLAB中的SOLVE函数不但能解直接求解,还能求解带参数的方程:
clear all
syms R X a b c d x1 x2 x3 x4;
[x1,x2,x3,x4]=solve('R*x1+R*x3-X*x4=a','R*x2+X*x3+R*x4=b','R*x1-X*x2+R*x3=c','X*x1+R*x2+R*x4=d','x1,x2,x3,x4')
我运行了一下结果如下:x1 =

(2*R^2*d-2*R^2*b+R*X*c+R*a*X+X^2*d)/X/(4*R^2+X^2)

x2 =

(-2*R^2*c+X*R*d+R*X*b-X^2*c+2*R^2*a)/X/(4*R^2+X^2)

x3 =

1/X*(-2*R^2*d+2*R^2*b+R*X*c+X^2*b+R*a*X)/(4*R^2+X^2)

x4 =

-(-2*R^2*c-X*R*d-R*X*b+2*R^2*a+X^2*a)/X/(4*R^2+X^2)

>>
温馨提示:内容为网友见解,仅供参考
无其他回答

Matlab如何解方程其中的参数为数组
clear;clc;x2 = [];for x1 = 1:1000:1000000 f = @(x2)0.05*x1*(1-x1\/150000)-(1e-8)*x1*x2;[x,fval,exitflag] = fzero(f,1000*rand);if exitflag==1 x2 = [x2;x];else error('有些解不出')end end

急!matlab解一个参量为数组的方程
l=29;d=1;E=20.58*10^6;P=7.8*10^(-3);m=1.3;D=8;a=9.5;b=19.5;J1=0.00104;J2=0.00052;W=0:200:2000;temp_W=W;%temp_W是暂时备份W值result_w=zeros(4,length(W));% 每个W,计算出的四个w值,以列向量存储在result_w中for index_W=1:length(W)%对每个W,依次...

matlab求数组方程组
v=1:5;eval(h)

如何用matlab解数组方程
L0=2500;R=200;length=100;h2=350;h1=h2+250;L2=(L0-R+length)\/2;symsL1L3ex1=L3+sqrt(L1^2-R^2)-H+h1;ex2=sqrt(L1^2-(L3+R)^2)-H+h1+h2;[L1,L3]=solve(ex1,ex2,'L1,L3');L1=double(L1)L3=double(L3)L1=1.0e+003*1.6249-1.6249L3=287.5000287.5000 ...

如何用matlab解变量是数组的微分方程
function y=myodefun(t,x)把你的L写在这。y=-L*x;=== 存成一个文件myodefun.m === 主程序:options = odeset('RelTol',1e-4,'AbsTol',1e-4); %误差设定1e-4 [t,Y] = ode45(@myodefun,[0 1],(1:10)',options); %[0 1]是t的范围,(1:10)'是初值 === Y即为所...

Matlab解数组方程: S=sqrt(a*(a-x))+sqrt(b*(b-x)) 其中S、a、b都是...
syms a b s x eq=sqrt(a*(a-x))+sqrt(b*(b-x))-s;x=solve(eq,'x');用你的数组替换 a0=1:5;b0=10:14;s0=2:6;x0=subs(x,{a,b,s},{a0,b0,s0})

如何用matlab解方程组
syms x1 x2 x2=solve('sin(x1)=2*sin(x2)','x2');y=-0.15*cos(x1)+0.3*cos(x2)ezplot(y,[0 pi])

matlab 怎么用fsolve解数组方程
function F=fun(x)F=[sqrt(x(1)^2+x(2)^2)-8;sqrt(x(2)^2+x(3)^2)-7;sqrt(x(1)^2+x(3)^2)-6];保存 调用x0=[0;0;0];[x,fv]=fsolve('fun',x0)x0是初始值任意的 命令fsolve(f,x0)的意思是从x0开始搜使得f=0的解 得结果 x = 5.0498 6.2048 3.2404 fv ...

matlab形参为数组的函数定义问题!求解!多谢大神!
同样的定义,matlab没有像c语言那样严格的参数类型限制 你可以定义function yy = fitnessfct(aa)在函数里面 aa(:,n)就是aa的第n列数据 aa(m,:)就是aa的第m行数据 aa(m,n)就是aa的第m行,n列数据

matlab求二元一次方程组
k=[2,5,7,9]; %为了说明问题,设定k为一个数组向量值 for i=1:length(k) % 原代码, i=1:n syms x y %原代码,声明变量 syms Xjd Yjd与本例无关 k1=k(i); %将k赋值给k1 [x1(i),y1(i)]=solve(y==k1*x,y==-x+5); % 原代码, JD(ii)=solve('y=k(i)x','y...

相似回答