MATLAB字符串拼接编写y=a1x1+a2x2+……+anxn多元一次方程

发布时间:2024-12-14 06:03

学习编程前,先了解基础数据类型如数字、字符串和布尔值 #生活知识# #科技生活# #编程学习#

最新推荐文章于 2024-01-09 21:42:39 发布

佟湘玉滴玉 于 2020-03-19 17:21:57 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

在运用主成分分析法解决问题时,会求解出很多冗长但不复杂的公式,如下图所示的多元一次公式,而且每个系数都是很多位的小数,一个个打出来还是很无聊的。借用MATLAB的字符串拼接可以很简单地写出来。
在这里插入图片描述

输入

假设求得的参数如下,想得到的公式为
F1 = 0.255X1 + 0.419X2 + ……-0.401X10
将下表中除第一行以外的文本复制粘贴到空白的txt文本中并保存为’gongshi.txt’,作为代码的数据来源。如果觉得麻烦也可以直接从excel导入。
在这里插入图片描述

MATLAB代码

下面是实现的代码

data = importdata('gongshi.txt');%保存好的文本数据 a = data.data;%所有的参数 b = data.textdata;%所有的字母变量 a = string(a);%转换为字符串格式 b = string(b); [m,n] = size(a);%m为每个公式中的变量个数,n为公式个数 c = []; for i=1:n d = ''; for j=1:m if contains(a(j,i),'-')%判断是否含有减号 d = strcat(d,a(j,i),b(j)); else d = strcat(d,'+',a(j,i),b(j));%添加加号 end end c = [c;d] end

123456789101112131415161718

最后输出的c就是拼接好的公式了,因为是字符串格式,所以前后带有双引号,而且最前面可能会多出一个加号,但是删除这些不过是举手之劳。
c =

"+0.255X1+0.419X2-0.289X3+0.438X4-0.396X5+0.151X6+0.049X7+0.242X8-0.287X9-0.401X10" "-0.146X1-0.187X2+0.431X3-0.106X4-0.28X5+0.488X6-0.454X7+0.28X8-0.364X9+0.118X10" "+0.643X1+0.005X2+0.198X3+0.067X4+0.104X5-0.363X6-0.541X7+0.226X8+0.238X9+0.006X10" "+0.262X1-0.114X2+0.236X3-0.121X4+0.074X5+0.344X6+0.548X7+0.529X8+0.371X9-0.078X10" "-0.338X1-0.021X2-0.059X3-0.164X4+0.154X5-0.542X6+0.066X7+0.639X8-0.34X9-0.093X10" 12345

写入Word

将输出结果复制到word中,删去多余的符号,添加好前面的’F1='等因变量,在放到mathtype里面,就大功告成了。
在这里插入图片描述

网址:MATLAB字符串拼接编写y=a1x1+a2x2+……+anxn多元一次方程 https://www.yuejiaxmz.com/news/view/471613

相关内容

“n次方程有n个根”的证明
python知识快速补充4——集合,序列(元组,列表,字符串),字典说它们想一起学
JavaScript学习笔记(2):字符串
MATLAB图像处理(包括图像类型转换)
Matlab的for循环优化
String.format()字符串格式化
python一元二次方程组
对matlab中的sparse()深刻理解
用PHP中的 == 运算符进行字符串比较
PCA (主成分分析)详解 (写给初学者) 结合matlab

随便看看