求助Matlab的一个方程问题
问题描述:
求助Matlab的一个方程问题
如果已知x*y=w*z;
其中每次计算会随意给出四个量中的三个量,然后算剩下的那个量,请问这种情况如何实现?
如果那个方程复杂一点呢?
比如:x*y^k=w*z^k
其中k为常数
答
你看这样行不行,虽然不知道你这样做是为了什么.
设x为待求那个,y=a(1),w=a(2),z=a(3),用随机矩阵
a=rand(3,1)
x=a(2,1)*a(3,1)/a(1,1)那对我说的第二种情况如何实现呢?%假设y=a(1),w=a(2),z=a(3),k=a(4)a=rand(4,1)x=(a(2)*a(3)^a(4))/(a(1)^a(4))不太懂啊y=a(1),w=a(2),z=a(3),这是a定义了吗?x=a(2,1)*a(3,1)/a(1,1) a不是3*1的吗?加%号的不运行,a还没定义,代码只有两句,即:a=rand(4,1)x=(a(2)*a(3)^a(4))/(a(1)^a(4))这里的a是4*1维啊 你的意思我看明白了 我 不是这个意思 我说任意的不是值任意,而是哪三个给定任意比如a*b=c*d是的等式,我现在想做到的就是别人给我四个值中的三个值,我能算出另外一个值你想怎么给那三个值,手动输入还是文件读入?要不就写个函数,再说你上面那两个方程太简单了,随便怎么写都行了,写成函数的话function [x]=jisuan(y,w,z)x=(w*z)/y;end;调用时[x]=jisuan(y,w,z)就行那函数怎么知道我给的是哪三个值呢?他怎么判断呢?不好意思,看不懂你的问题