有多个K值,如何用matlab写解二元二次方程组的代码
2个回答
展开全部
含参数的方程组,在matlab中,可以使用solve函数求解。
解多元方程组,solve函数调用格式如下:
[y1,...,yN] = solve(eqns,vars)
给出示例如下:
syms a b k
[b, a] = solve(a^2/16 + b^2/4 == 1, b == k*a , b, a);%2元2次方程组
b=simple(b),a=simple(a)
解得椭圆与直线交点:
b =
4*k*(1/(4*k^2 + 1))^(1/2)
-4*k*(1/(4*k^2 + 1))^(1/2)
a =
4*(1/(4*k^2 + 1))^(1/2)
-4*(1/(4*k^2 + 1))^(1/2)
解多元方程组,solve函数调用格式如下:
[y1,...,yN] = solve(eqns,vars)
给出示例如下:
syms a b k
[b, a] = solve(a^2/16 + b^2/4 == 1, b == k*a , b, a);%2元2次方程组
b=simple(b),a=simple(a)
解得椭圆与直线交点:
b =
4*k*(1/(4*k^2 + 1))^(1/2)
-4*k*(1/(4*k^2 + 1))^(1/2)
a =
4*(1/(4*k^2 + 1))^(1/2)
-4*(1/(4*k^2 + 1))^(1/2)
2015-01-16
展开全部
function [x1,y1]=fun(k1,k2);
%输入你表中的k1,k2就会求出来了
syms x;
syms y;
[x2,y2]=solve(y*(100-x)/((40-x-y)^2)==k1,(x-y)*(100-x)/(40-x-y)/(10-x+y)==k2);
x1=double(x2);
y1=double(y2);
例子
>>[x,y]=fun(6.141e23,1.308e18);
x =
25.0000 - 0.0000i
40.0000 + 0.0000i
25.0000 + 0.0000i
y =
15.0000 + 0.0000i
0.0000
15.0000 - 0.0000i
PS.顺便~二元二次方程组最多可以有四组根~这里出现重根或者奇异根所以可能会出现3组,如果遇到0.0000i的话说明它很可能是实解,你忽略i就是了
%输入你表中的k1,k2就会求出来了
syms x;
syms y;
[x2,y2]=solve(y*(100-x)/((40-x-y)^2)==k1,(x-y)*(100-x)/(40-x-y)/(10-x+y)==k2);
x1=double(x2);
y1=double(y2);
例子
>>[x,y]=fun(6.141e23,1.308e18);
x =
25.0000 - 0.0000i
40.0000 + 0.0000i
25.0000 + 0.0000i
y =
15.0000 + 0.0000i
0.0000
15.0000 - 0.0000i
PS.顺便~二元二次方程组最多可以有四组根~这里出现重根或者奇异根所以可能会出现3组,如果遇到0.0000i的话说明它很可能是实解,你忽略i就是了
更多追问追答
追问
能不能吧语言写成直接从excel中读取K1,K2,然后计算结果也写入excel中啊
能帮忙编写一下么
追答
鹅,我没试过Matlab通往Excel的接口……但是从excel导入到matlab我可以告诉你的……
Matlab菜单栏有个importdata,这里可以识别xls文件~
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询