MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 108|回复: 2|关注: 0

[未答复] 三维曲面模拟问题

[复制链接]

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
发表于 6 天前 | 显示全部楼层 |阅读模式
如下是一段简化代码:

fun1=inline('(ref(1)*y+ref(2))*x.^2+(ref(3)*y+ref(4))*x+ref(5)*y+ref(6)','ref','x','y');
fun2=inline('(ref(7)*y+ref(8))*x.^2+(ref(9)*y+ref(10))*x+ref(11)*y+ref(12)','ref','x','y');
fun=@(ref,t,k)((t<=k*2.96+1.076).*fun1(ref,t,k)+(t>k*2.96+1.076).*fun2(ref,t,k));          %以上只是函数分段,不用在意
t=1.01:0.01:2;
k=0.01:0.01:0.25;
v=b;         %这里 b 是一组已知的 25*100的数据矩阵
[tt,kk]=meshgrid(t,k);
beta0=zeros(1,12);
beta=nlinfit([tt,kk],v,fun,beta0);      %然后这一行提示报错,应该是[tt,kk]矩阵选取有问题





那么我想问下,对于这样 t 与 k 长度不一样(也就是x, y 轴),应该如何选取这个矩阵?程序应该如何修改?


不胜感激!

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 前天 20:56 | 显示全部楼层
主要目的是拟合一个如下图所示三维图像的函数:

4.png

由于图像需要分段,使用cftool自定义函数拟合不够精确,所以自己写了上述代码模拟。

代码中t, v, b, 分别对应x y z轴,这里meshgrid了 x y坐标轴似乎并没有错啊?有人说下是哪里出错了吗

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 前天 22:57 | 显示全部楼层
有大佬帮忙解惑吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表