MATLAB实现三维温度场的动态显示问题:无法从 struct 转换为 double

阅读: 评论:0

MATLAB实现三维温度场的动态显示问题:无法从 struct 转换为 double

MATLAB实现三维温度场的动态显示问题:无法从 struct 转换为 double

MATLAB三维温度场动态显示&问题:无法从 struct 转换为 double

  • 动态显示
    • 具体代码
    • 问题的解决
    • 我计算机环境
    • 参考网址

更新于2021年4月21日

动态显示

在百度知道上,找到一个MATLAB能直接跑的代码。

具体代码

// An highlighted block
var foo = 'bar';
[X, Y, Z]=peaks(50); %创建山峰图形数据
surfl(X, Y, Z) %绘制带光照的表面
axis([-10 10 -10 10 -10 10]) %限制绘图范围
axis vis3d off %三维坐标修正,关闭坐标轴箭头
axis equal %等比例显示三维坐标
shading interp %加个影子美化
colormap(copper) %着色为铜色
movie(m) %把刚才存到m里的图像连续播放一遍

这是我仿真编写的,却出现问题。

figure(1);
xs = 0:a/20:a;
ys = 0:b/20:b;
zs = 0:c/20:c;
for i=1:n %h= slice(x,y,z,Theta_movie(:,:,:,i),xs,ys,zs);axis offset(h,'FaceColor','interp','EdgeColor','none');camproj perspective;box on;view(-49,-41);colorbar;m(i)=getframe; 
end 
movie(m,10,2); %以每秒2帧动态显示,循环10次

出现问题:**无法从 struct 转换为 double。**如下图所示

问题的解决

增加一个“mioivein”函数
figure(1);
xs = 0:a/20:a;
ys = 0:b/20:b;
zs = 0:c/20:c;
m=moviein(n);		%n可以随便设置一个正整数
for i=1:n %h= slice(x,y,z,Theta_movie(:,:,:,i),xs,ys,zs);axis offset(h,'FaceColor','interp','EdgeColor','none');camproj perspective;box on;view(-49,-41);colorbar;m(i)=getframe; 
end 
movie(m,10,2); %以每秒2帧动态显示,循环10次

问题的得到解决。

我计算机环境

  • Win10
  • MATLAB R2017b

参考网址

这是我参考的百度知道上的原址:
[1]: .html

本文发布于:2024-02-02 05:27:26,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170682284541652.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:转换为   动态   温度场   MATLAB   struct
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23