Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在Matlab中访问矩阵

假设用户输入数据如下。我定义我的矩阵是成本。我创建的矩阵是3 x 3矩阵。因此矩阵应如下所示:

cost = [c11 c12 c13 c21 c22 c23 c31 c32 c33] 由于我想显示行集,所以我这样做:

c1 = cost(1,:); % it will become c1 = c11 c12 c13 c2 = cost(2,:); % it will become c2 = c21 c22 c23 c3 = cost(3,:); % it will become c3 = c31 c32 c33 然后我想要矩阵中的值。我是这样的

c11 = cost(1,1); c12 = cost(1,2); c13 = cost(1,3); c21 = cost(2,1); c22 = cost(2,2); c23 = cost(2,3); c31 = cost(3,1); c32 = cost(3,2); c33 = cost(3,3); 这就是我要用于这种类型矩阵的方程式。

lambda = ((8*c13*c23*c33*Pdt)+(4*c12*c23*c33)+(4*c13*c22*c33)+(4*c13*c23*c32)) ./ (4*c23*c33)+(4*c13*c33)+(4*c13*c23)); 所以我的问题是,如果我想制作4 x 3矩阵,它将生成一个像这样的矩阵:

cost = [c11 c12 c13 c21 c22 c23 c31 c32 c33 c41 c42 c43] 我要用于此矩阵(4 x 3)的方程式完全不同。那我怎么办呢?我需要使用if else语句吗?还是做一段时间?谁能帮我解决这个问题?谁能创建代码?



回答:

为什么要显式创建变量c11,c12,...?当然,像这样访问方程式中的矩阵会更容易:
lambda =((8 * cost(1,3)* cost(2,3)* cost(3,3)* Pdt)+(4 * cost(1,2)* cost(2,3)* cost(3 ,3)+(4 * cost(1,3)* cost(2,2)* c(3,3))+(4 * cost(1,3)* cost(2,3)* cost(3, 2))./(4 * cost(2,3)* cost(3,3))+(4 * cost(1,3)* cost(3,3))+(4 * cost(1,3) * cost(2,3)));

对于您的问题,是的,只需使用一个简单的if语句,例如:
如果size(cost,1)== 3

%equation for matrix size 3x3 其他

%equation for matriz size 4x3
更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 04:58


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.