用MATLAB解决这个问题

有以下几组数据M43.2531.7726.1823.0715.8912.624.83Y14711710192705929已知他们的关系是Y=KM^a根据上述7组数据求得K... 有以下几组数据
M 43.25 31.77 26.18 23.07 15.89 12.62 4.83
Y 147 117 101 92 70 59 29
已知他们的关系是Y=KM^a
根据上述7组数据求得K和a的值
展开
 我来答
山水游鹰
2010-03-17 · TA获得超过123个赞
知道答主
回答量:66
采纳率:0%
帮助的人:65.3万
展开全部

M = [43.25 31.77 26.18 23.07 15.89 12.62 4.83];

Y = [147   117   101   92    70    59    29];

n = 3;

p= polyfit(M,Y,n)

yy = polyval(p,M);

plot(M,Y,'ko', M,yy)

其中n表示最高次幂,尝试不同的n可知,n=3时最合适,结果:

Y = 0.0004M^3 - 0.0514M^2 + 4.5998M + 8.0203

吾尝终日而思
2010-03-17 · TA获得超过1万个赞
知道大有可为答主
回答量:1276
采纳率:0%
帮助的人:756万
展开全部
这是拟合问题。稍等。
请新建一个m文件。文件名命名为:lsqnonlin_100317.m
然后在matlab窗口中运行
>>[p resnorm] = lsqnonlin_100317()
即可。
附文件代码:

function [p resnorm] = lsqnonlin_100317()

% 有以下几组数据
% M 43.25 31.77 26.18 23.07 15.89 12.62 4.83
% Y 147 117 101 92 70 59 29
% 已知他们的关系是Y=KM^a
% 根据上述7组数据求得K和a的值
% 2010-03-17

t = [43.25 31.77 26.18 23.07 15.89 12.62 4.83];
y = [147 117 101 92 70 59 29];
figure
hold on
plot(t,y,'ob');

p0 = [0.5 0.5];%未知数向量的初始值,向量长度与未知数个数相等
[p resnorm] = lsqnonlin(@func,p0);

t2 = [1:50]
plot(t2,p(1).*t2.^p(2),'-r');
hold off

function f = func(p)
t = [43.25 31.77 26.18 23.07 15.89 12.62 4.83];
y = [147 117 101 92 70 59 29];
z = p(1).*t.^p(2);
f = z - y;

%
% 输出:
% p = 8.9875 0.7417
% 即 k = 8.9875
% a = 0.7417
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hallowwar
2010-03-17 · TA获得超过553个赞
知道小有建树答主
回答量:630
采纳率:0%
帮助的人:410万
展开全部
关注楼上到进展。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式