我是靠谱客的博主 结实棒棒糖,这篇文章主要介绍MATLAB实现三维温度场的动态显示&问题:无法从 struct 转换为 double动态显示,现在分享给大家,希望可以做个参考。

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

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

更新于2021年4月21日

动态显示

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

具体代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
// 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里的图像连续播放一遍

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 off set(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。**如下图所示
出错图示

问题的解决

复制代码
1
2
增加一个“mioivein”函数
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 off set(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]: https://zhidao.baidu.com/question/758123072792991764.html

最后

以上就是结实棒棒糖最近收集整理的关于MATLAB实现三维温度场的动态显示&问题:无法从 struct 转换为 double动态显示的全部内容,更多相关MATLAB实现三维温度场的动态显示&问题:无法从内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部