[已解决] Matlab解20元一次方程组问题(20个方程)

[复制链接]
dlsunhaopeng 发表于 2021-8-16 19:16:22
本帖最后由 dlsunhaopeng 于 2021-8-16 19:20 编辑

小白求教解方程组问题。
excel中整理除了方程组系数矩阵,规格为20×21,第21列即为每个方程的结果。如何书写一个Matlab程序将excel中将参数提取出来,分别放在20个未知数前面来求解。
现在我只会手打eq1-eq20,但是那样劳动量太大了,求个大佬简单写个程序教教我思想。:'(

最佳答案


15631202458 发表于 2021-8-19 09:14:22
dlsunhaopeng 发表于 2021-8-18 20:24
如图所示(图1里公式打错了,右侧级数里应该cosnw),w离散化步数取60,区间0~派
第1个等式里,w全都等于 ...
  1. clear;
  2. lamda=1;
  3. E=1;
  4. w=pi/60;
  5. n=20;
  6. for i=1:n
  7.     A(i,:)=cos(i*w*(1:n));
  8.     b(i,1)=lamda/E/pi*(i*w-1/2);
  9. end

  10. JG=A\b
复制代码

6 条回复


TouAkira 发表于 2021-8-17 04:46:38
线性方程组?直接写成 A * x == b 的形式
A为20*20的矩阵,b为20*1的向量,x = A \ b

15631202458 发表于 2021-8-17 13:26:10
  1. clear;
  2. %% 虚拟构造excel    20*21文件
  3. A=randi([1,100],20);
  4. b=randi([1,100],20,1);
  5. All=[A,b];
  6. xlswrite('temp.xls',All);

  7. %% 读取excel解方程

  8. data=xlsread('temp.xls');
  9. AA=data(:,1:end-1);
  10. bb=data(:,end);
  11. JG=AA\b
复制代码

dlsunhaopeng 发表于 2021-8-17 17:22:35

谢谢老哥已经解决了,如果第21列不是一个确定的数,而是代数项怎么解决?比如eq1=。。。。。==A,eq2=
。。。。。==A。

15631202458 发表于 2021-8-17 18:33:37
dlsunhaopeng 发表于 2021-8-17 17:22
谢谢老哥已经解决了,如果第21列不是一个确定的数,而是代数项怎么解决?比如eq1=。。。。。==A,eq2=
。 ...

把具体的例子上传一下

dlsunhaopeng 发表于 2021-8-18 20:24:14
本帖最后由 dlsunhaopeng 于 2021-8-18 20:26 编辑
15631202458 发表于 2021-8-17 18:33
把具体的例子上传一下

如图所示(图1里公式打错了,右侧级数里应该cosnw),w离散化步数取60,区间0~派
第1个等式里,w全都等于派/60
第2个等式里,w全都等于2派/60
......
第20个等式里,w全都等于20派/60。
即20个20元一次方程,解20个未知数,即阿尔法1~20。
等式的左边的入和E均视作已知常数,我是向请教,能否求出一个代数形式的解。

$1IWGO5$9$J75~V`LP8[9XC.png
%UUYEHT4AXP_0O[WBP95X~T.png

15631202458 发表于 2021-8-19 09:14:22
dlsunhaopeng 发表于 2021-8-18 20:24
如图所示(图1里公式打错了,右侧级数里应该cosnw),w离散化步数取60,区间0~派
第1个等式里,w全都等于 ...
  1. clear;
  2. lamda=1;
  3. E=1;
  4. w=pi/60;
  5. n=20;
  6. for i=1:n
  7.     A(i,:)=cos(i*w*(1:n));
  8.     b(i,1)=lamda/E/pi*(i*w-1/2);
  9. end

  10. JG=A\b
复制代码
回复此楼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表