[已答复] 我是要拟合的函数太复杂,导致程序不能运行,求解决方案?

[复制链接]
18325876085@163 发表于 2022-4-20 15:02:32
clc,clear;
w=[1500        1600        1700        1800        1900        2000        2100        2200        2300        2400        2500        2600        2700        2800        2900        3000        3100        3200        3300        3400        3500        3600        3700        3800        3900        4000        4100        4200        4300        4400        4500        4600        4700        4800        4900        5000        5100        5200        5300        5400        5500        5600        5700        5800        5900        6000        6100        6200        6300        6400        6500        6600        6700        6800        6900        7000        7100        7200        7300        7400        7500        7600        7700        7800        7900        8000]

y=[128.516400000000        129.051800000000        128.033300000000        127.200600000000        128.426800000000        129.443800000000        130.911200000000        133.518700000000        135.252200000000        134.405500000000        130.984900000000        128.253500000000        134.091800000000        138.610300000000        140.909500000000        142.663100000000        143.729300000000        144.760800000000        145.385400000000        145.507500000000        145.554600000000        144.753100000000        143.967200000000        143.410500000000        142.252300000000        141.169300000000        140.460800000000        139.602900000000        138.858500000000        138.495700000000        138.120200000000        137.681300000000        137.482500000000        137.336300000000        137.364100000000        137.357900000000        137.697500000000        138.077200000000        138.098400000000        137.505300000000        136.098700000000        133.593700000000        131.495500000000        130.731200000000        131.250200000000        131.745100000000        132.140600000000        132.177500000000        131.442700000000        130.797500000000        129.799200000000        128.974100000000        129.469600000000        130.020000000000        129.895800000000        129.383100000000        127.767500000000        124.463300000000        118.383000000000        108.328600000000        113.139700000000        115.693900000000        115.728500000000        114.169300000000        116.192000000000        120.357300000000]
y=(y-120)/20
H=10.^(y)

f=fittype('A*sqrt(R_s^2+w.^2*m_s^2)./sqrt((R_s+R_m)^2+(w*m_s+w*m_m+1./(w*s_m)).^2)','independent','w');
cfun=fit(w,H,f)
w1=1500:100:8000;
H1=cfun(w1)
plot(w,H,'r*',w1,H1,'b-')


3 条回复


hzlhm 发表于 2022-4-22 18:17:51
运行你的程序,出现“X must be a matrix with one or two columns.”警告,这说明要求w和y为列向量,而不是行向量。
修改后可以运行,但还是有错误,不知给出的拟合函数是否合理?

18325876085@163 发表于 2022-5-12 16:51:32
hzlhm 发表于 2022-4-22 18:17
运行你的程序,出现“X must be a matrix with one or two columns.”警告,这说明要求w和y为列向量,而不 ...

问题已解决

18325876085@163 发表于 2022-5-12 16:52:09

拟合的函数我修改了一下,简化了它
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表