微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Matlab:根据一个参数创建变量图

如何解决Matlab:根据一个参数创建变量图

我有一个3x3矩阵,其中某些元素取决于一个称为x的参数,该参数可以达到0到1之间的值。 我将此矩阵的逆乘以3x1向量,因此获得了一个名为optimal taxes的3x1向量,其中每个元素都取决于x。 然后,我创建一个名为reinf的变量,该变量等于optimal taxes的第一个元素减去其他两个元素。

我想根据参数x在0到1之间的范围内绘制reinf的值。 我尝试使用以下代码,其中H_V1x是3x3矩阵。

syms x positive real
optimal_taxes1x = inv(H_V1x)*inc_cons
reinf1x = optimal_taxes1x(1,1) - optimal_taxes1x(2,1) - optimal_taxes1x(3,1)

但是,当我运行最后一行时,它说我得到错误“位置1的索引超出数组范围(必须不超过1)”。 这是令人惊讶的,因为optimum_taxes1x是3x1的syms向量。 我该如何解决这个问题并创建情节? 谢谢

根据要求,这是矩阵和向量:

H_V1x = [  -5.9280e-07,3.7066e-07,2.2215e-07; 3.7066e-07,(1537*x)/258614388 - 6736739427183417/2361183241434822606848,-(1537*x)/258614388;2.2215e-07,-(1537*x)/258614388,(1537*x)/258614388 - 6645950193052613/4722366482869645213696];

inc_cons = [0.823603356515493,-0.219495869657492,-0.0752767166225879]

解决方法

我可以在2016b中毫无问题地运行代码。这是我的代码:

clear variables; clc; close all
syms x real
assume(x > 0)
H_V1x = [  -5.9280e-07,3.7066e-07,2.2215e-07; 3.7066e-07,(1537*x)/258614388 - 6736739427183417/2361183241434822606848,-(1537*x)/258614388;2.2215e-07,-(1537*x)/258614388,(1537*x)/258614388 - 6645950193052613/4722366482869645213696];

inc_cons = [0.823603356515493;
           -0.219495869657492;
           -0.0752767166225879]

optimal_taxes1x = inv(H_V1x)*inc_cons;
reinf1x = optimal_taxes1x(1,1) - optimal_taxes1x(2,1) - optimal_taxes1x(3,1)

x=0:0.02:1;
plot(x,subs(reinf1x))

这是情节的结果:

enter image description here

reinf1x =

(1040053994187210661864407040 *(495592707753015189241062869767647395840 X - 89156821447333517620228626174465662937))/(747 (2815381160608336475815926275042762431495254208116923826176 X - 445811259036595286456502337342890549874079624653932849201)) - (460318575875822254261534720 (11210459727128231750210203484711869743104 X - 2497571854516097684109652531721363759511)) /(30627 (2815381160608336475815926275042762431495254208116923826176 X - 445811259036595286456502337342890549874079624653932849201)) - (42633524607347156989247488 (162551666043359360378047950528322111275008 X - 3799129388554029548248573922328032752851))/(30627 (2815381160608336475815926275042762431495254208116923826176 X - 445811259036595286456502337342890549874079624653932849201) )-(7258277284170644693450752 (81275833021679680189023975264161055637504 x-35848130569758668835608493944994001436436))/(10209 (2815381160608336475815926275042762431495254208116923826176 x-44581 1259036595286456502337342890549874079624653932849201))+(402307845408630815045189632 (495592707753015189241062869767647395840 X - 73377230813429148255176338884456817971))/(249 (2815381160608336475815926275042762431495254208116923826176 X - 445811259036595286456502337342890549874079624653932849201)) - (7623637334217303404343984128 (18254049353170950597767874357190897696768 X -2894673088146242304784596506648828329737))/(30627 (2815381160608336475815926275042762431495254208116923826176 * x-445811259036595286456502337342890549874079624653932849201))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。