matlab怎么循环求二元方程然后组成一个新的矩阵

来自:    更新日期:早些时候
matlab 如何将for每循环一次产生的矩阵合并成一个大矩阵~

搞定了,绝对是最简洁,运行效率最高的算法,就是不知道你能不能看懂。
程序如下:
clear;
clc;
x = rand(10,5); %%%%% 自己定义的矩阵
K = 3;
[a b] = size(x);
for ii = 1:K
var = x(ii:K:a,:);
eval(strcat( 'A',num2str(ii),'=var'));
end

结果:
A1 =
0.2137 0.6103 0.3124 0.6759 0.4301
0.2296 0.9325 0.2905 0.3991 0.7425
0.9621 0.5735 0.6147 0.1051 0.4293
0.0058 0.2235 0.8272 0.3545 0.8497

A2 =
0.3978 0.8011 0.5845 0.2489 0.5722
0.9361 0.7633 0.4026 0.5994 0.7579
0.4380 0.7926 0.9912 0.8214 0.9563

A3 =
0.3337 0.2330 0.8299 0.4758 0.7008
0.6832 0.8264 0.8621 0.8005 0.3891
0.9403 0.3290 0.2037 0.8411 0.5730

使用“cat”函数就可以了,举个例子假设a=rand(4,3);b=rand(4,3);你要把a,b合成c,就用c=cat(3,a,b);就可以了,这样c就是一个4×3×2的矩阵了。

如何用matlab循环求二元方程然后组成一个新的矩阵?这个问题可以这样来考虑:

第一步:将i、j代入二元方程函数中,得到若干组方程(矩阵方程)。即

i=[1:1:10];

j=[1:1:10];

eq=0.065*2/22.4-0.935/(3.14*2*0.11*i*0.08*i)*exp(-z^2/(2*(0.08*i)^2))*exp(-j^2/(2*(0.11*i)^2));

第二步:用for循环语句和solve函数,得到若干组方程的解,并赋值给x1、x2。即

for k=1:10

z=solve(eq)

x1(k)=double(z(1));

x2(k)=double(z(2));

end

第三步:用solve函数求解矩阵方程,得到每组方程的解。即

syms x %放置在最前面

z=solve(eq) %有两个解x1、x2

第四步:显示X值。即

X=[x1,x2]

运行上述代码,可以得到如下矩阵X。




matlab怎么循环求二元方程然后组成一个新的矩阵视频

相关评论:
  • 13615669584怎样用Matlab解一个二元二次方程组
    庄通牲:((x-0.5)^2)\/a^2-y^2\/b^2=1 , ((y-0.5)^2)\/c^2-x^2\/d^2=1 方法:syms a b c d x y;solve('(x-0.5)^2\/a^2-y^2\/b^2=1 ', '(y-0.5)^2\/c^2-x^2\/d^2=1')把上面的命令复制粘贴到matlab的command windows里就行了。你这是两条双曲线求交点,因此...

  • 13615669584利用MATLAB求解二元二次方程,求大神解答
    庄通牲syms x y [x,y]=solve(y==-0.025828*x^2+0.22057*x+0.29654,x^2+y^2==0.3015,x,y);x=double(x),y=double(y)结果:x = -0.5205 + 0.0000i 0.3964 + 0.0000i 8.6020 +38.4366i 8.6020 -38.4366i y = 0.1747 + 0.0000i 0.3799 + 0.0000i 38.4403 - 8....

  • 13615669584怎样用Matlab解一个二元二次方程组?
    庄通牲>> [x,y]=solve('x^2+(y-100)^2-89^2','x^2+y^2-10000');>> x=double(x),y=double(y)x = 79.7022 -79.7022 y = 60.3950 60.3950 >> s=sqrt((x-200).^2+y.^2-134^2)s = 12.7715 252.8337 严格来说没有解,近似解为(79.7022, 60.3950)

  • 13615669584如何使用matlab求解一个二元二次方程组的问题?
    庄通牲你有两点错误:1、你给solve函数输入公式时是不用加单引号的 直接输入就行,加了单引号就变成字符串了,所以MATLAB说你是无效表达 2、在使用solve函数时u、w是两个符号变两,应该先定义:syms u w 程序应改为:syms u w aF=0.8;af=-0.02;aB=-0.6;v0=12.26;T=104;S=1347.1;a1=aF...

  • 13615669584MATLAB求解二元方程组
    庄通牲根据题意,求解二元方程组可以用fsolve来求解。x0=[-5,-5];func=@(x)[2*x(1)-x(2)-exp(-x(1)),-x(1)+2*x(2)-exp(-x(2))];x=fsolve(func,x0)运行结果 x=0.5671,y=0.5671

  • 13615669584请教高手!!!用MATLAB求解关于e的二元方程。
    庄通牲用数值解法 function zfsolve clc;clear;x0=[0.7;1];x=fsolve(@eq,x0)ezplot('a\/b-exp(-1.2*(b-a))',[0.1 2])hold on ezplot('exp(-1.2*a)-exp(-1.2*b)=2*exp(-50*a)-2*exp(-50*b)',[0.1 2])grid on,axis equal function f=eq(x)a=x(1);b=x(2);f(...

  • 13615669584matlab解多二元方程组,求助学霸
    庄通牲将solve函数改用vpasolve函数,即 [dz,k]=vpasolve(fx1,fx2)运行结果如下。

  • 13615669584请教高手指点,用Matlab求解二元非线性方程的程序 (这个程序运行错误如 ...
    庄通牲不知道到你为什么把程序搞这么复杂。直接把各个参数带入方程啊。直接用fsolve。fsolve用法:x=fsolve(fun,x0)求解fun(x)=0的解,x0是初值,fun是函数,x就是解 因为fsolve使用迭代法求解方程的,所以总要有个迭代的初值吧,这个初值就是你给的x0。比如解方程组 x(1).^2+x(2).^2=1 x(1)...

  • 13615669584matlab 怎么求解 带有三角函数的未知二元方程啊
    庄通牲F =@(x) [1.3-((tan(x(1))+2\/(x(2)*cos(x(1)))*0+0.4*log(1-5*0\/(x(2)*cos(x(1)));3-((tan(x(1))+2\/(x(2)*cos(x(1)))*+0.4*log(1-5*5\/(x(2)*cos(x(1)))];fsolve(@(x)F(x),rand(2,1))

  • 13615669584matlab求解带积分的二元方程组,未知数在积分中
    庄通牲你这样试一试:clear syms t x1 x2;f1=exp(-(1-x2)*t)\/t;f2=exp(-x1*t)\/t;S1=int(f1,t,1,+inf);S2=int(f2,t,1,+inf);[sol_x1,sol_x2] = vpasolve([x1==S1,x2 ==1- S2], [x1,x2]);format long;a=eval(sol_x1)b=eval(sol_x2)a = 0.527612347201742 b = 0...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网