24小时热门版块排行榜    

查看: 2062  |  回复: 10

刘小嵩321

银虫 (著名写手)

[求助] 用matlab对矩阵做一个e指数的拟合程序 已有3人参与

有一个383*2048的矩阵,要求对这个矩阵的所有元素进行e指数拟合,e指数拟合的公式类型为:y=a-bcX,其中X是c的指数,b与c是相乘。给出程序
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
用cftool工具箱 拟合就是了 界面操作 简单快捷
数值计算
2楼2015-07-15 19:48:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刘小嵩321

银虫 (著名写手)

引用回帖:
2楼: Originally posted by 独孤神宇 at 2015-07-15 19:48:46
用cftool工具箱 拟合就是了 界面操作 简单快捷

工具箱只能拟合单条线的,我要的是全部的数据都进行拟合。
3楼2015-07-16 08:15:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
考虑试试1stOpt,可以批量处理数据,关键是不需要初值,省事不少。
4楼2015-07-16 09:30:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刘小嵩321

银虫 (著名写手)

引用回帖:
4楼: Originally posted by dingd at 2015-07-16 09:30:25
考虑试试1stOpt,可以批量处理数据,关键是不需要初值,省事不少。

matlab里面没有1stOpt
5楼2015-07-16 09:47:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guo_zy_123

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
刘小嵩321: 金币+10, ★★★★★最佳答案, 万分感谢 2015-07-16 15:48:42
CODE:
function [fitresult, gof] = createFit(x, y)

[xData, yData] = prepareCurveData( x, y );

% Set up fittype and options.
ft = fittype( 'a-b*exp(x)', 'independent', 'x', 'dependent', 'y' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'off';
% opts.StartPoint = [0.867276403277854 0.0574539084707549];

% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );

% Create a figure for the plots.
figure( 'Name', 'untitled fit 1' );

% Plot fit with data.
subplot( 2, 1, 1 );
h = plot( fitresult, xData, yData );
legend( h, 'y vs. x', 'untitled fit 1', 'Location', 'NorthEast' );
% Label axes
xlabel x
ylabel y
grid on

% Plot residuals.
subplot( 2, 1, 2 );
h = plot( fitresult, xData, yData, 'residuals' );
legend( h, 'untitled fit 1 - residuals', 'Zero Line', 'Location', 'NorthEast' );
% Label axes
xlabel x
ylabel y
grid on

1你自己改下吧,不知道你哪个是行是x还是列是x
2此代码直接就是x向量和y向量
你自己先用某一行测试下
3然后你要做的就是注释掉画图
用for循环调用数据就是了
老古董
6楼2015-07-16 10:40:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guo_zy_123

木虫 (正式写手)

引用回帖:
6楼: Originally posted by guo_zy_123 at 2015-07-16 10:40:33
function  = createFit(x, y)

= prepareCurveData( x, y );

% Set up fittype and options.
ft = fittype( 'a-b*exp(x)', 'independent', 'x', 'dependent', 'y' );
opts = fitoptions( 'Method', 'Nonlin ...

忘了说了,公式写成了a-b*exp(x)
老古董
7楼2015-07-16 10:43:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刘小嵩321

银虫 (著名写手)

引用回帖:
7楼: Originally posted by guo_zy_123 at 2015-07-16 10:43:51
忘了说了,公式写成了a-b*exp(x)...

我想把数据load(‘NM.dat')进去,然后把这个load的数据的第一列作为x轴,第一行作为y轴,应该如何做
8楼2015-07-16 11:29:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

引用回帖:
5楼: Originally posted by 刘小嵩321 at 2015-07-16 09:47:40
matlab里面没有1stOpt...

百度下,与Matlab无关。
9楼2015-07-16 11:48:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guo_zy_123

木虫 (正式写手)

引用回帖:
8楼: Originally posted by 刘小嵩321 at 2015-07-16 11:29:42
我想把数据load(‘NM.dat')进去,然后把这个load的数据的第一列作为x轴,第一行作为y轴,应该如何做...

如果你所有的数据都load到1个数据的话,假定这个名字叫做data是个383*2048的数据
代码这么写
x = data(:,1);          %first col to be x
[n_row,n_col] = size(data);         %data size
fit_out = [];                       %output data
gof_out = [];                       %output data
for i_fit = 2:1:n_col               %我觉得你是不是搞错了,应该是每列都是y吧,
    y = data(:,i_fit);
    [a, b] = creatFit(x,y);        %要不然你这是一个z = f(x,y)的函数,也就是拟合一个曲面
fit_out = [fit_out;a];
gof_out = [gof_out;b];             %put fit data in outouts
end
老古董
10楼2015-07-16 14:58:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 刘小嵩321 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 不应该看fileCode +5 且听虎啸 2026-08-12 6/300 2026-08-12 16:26 by Tide man
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +7 Tide man 2026-08-11 7/350 2026-08-12 16:15 by 风逸1991
[基金申请] 好奇怪的filecode +5 布布和一二 2026-08-08 6/300 2026-08-12 16:11 by 云上清扬
[基金申请] 关于Filecode分析方法 +4 majunge000 2026-08-10 4/200 2026-08-12 15:46 by 云上清扬
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +22 Lanmanbaby 2026-08-09 35/1750 2026-08-12 14:38 by sdfapple719
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +3 majunge000 2026-08-11 4/200 2026-08-11 20:13 by lch2012
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 听说今天filecode变了 +26 布布和一二 2026-08-06 49/2450 2026-08-11 13:18 by WH3796
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 静等基金结果 +5 gjjjzhong 2026-08-10 16/800 2026-08-10 17:19 by Tide man
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
信息提示
请填处理意见