[英]How do I write a script to find the cost of each item in a list if only the total cost is known? MATLAB
我正在尝试在 MATLAB 中为我的班级编写脚本。 场景是有四种不同类型的笔。 我只知道所有四支笔的总成本(实际上并没有给我总数)。 我试图找到每种不同类型笔的单独成本。 我的三个“朋友”也各自买了四支钢笔。 这使得 4 个人总共有 16 支笔。 每个人的总成本应该是一样的。 这本书建议为笔创建一个矩阵,该矩阵由每种不同类型笔的列和每个人的行 (4x4) 组成。 它还说有一个列向量来表示每个人在笔上花费的总数,我认为这都是一样的。 我被卡住了,真的不知道如何解决这个问题,因为我什至不知道其中一支笔的成本。 任何帮助将不胜感激。
@TTT 是对的,线性代数可以解决您的任务。 Matlab 的伟大之处在于,它实际上可以计算线性代数,而无需构建 for 循环。 这是一个适合您情况的简单示例。
脚注:请注意,使用inv()
进行矩阵求逆将被 Matlab-IDE(即程序)标记为低效,因为联合计算inv(NumPens) * total
(表示为NumPens\\total
) 而不是先明确计算矩阵的逆——但是为了教授线性代数,这种方式要好得多!)
total = [17;13;12;27]; % vector 4x1 (number of persons x 1)
NumPens = [1 1 3 1
1 0 1 1
0 1 0 2
3 0 1 1]; % matrix 4x4 (number of persons x number of pen types)
% total = NumPens * x % original system
x = inv(NumPens) * total % how to calculate the number of pens
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.