MATLAB:改变数据结构内部属性值函数:set()
最近在学“利用傅里叶级数画图”的程序
其原理是通过傅里叶级数展开的矢量叠加,同时进行动态更新。即在每一次for循环时进行矢量的更新,那么,如何进行更新呢? 这里就使用到了set()函数
set()函数是对输入数据结构和指定属性进行属性值更改,语法如下
set('数据结构','属性1','值','属性2','值'.....)
例子:对矢量进行更改
matlab中画出矢量图可以用quiver()函数 (用法可以参考另一篇博客https://www.cnblogs.com/toriyung/p/16867391.html),这里主要改变其参数u,v,于是可以使用语句
set(arrows,'UData',u(i),'VData',v(i)); %arrows是quiver返回值
在每个循环中进行更改,完整代码如下
arrows=quiver(0,0,0,0,0); u = [0,0.5,1,0.5,0,-0.5,-1,-0.5]; %准备好u值 v = [1,0.5,0,-0.5,-1,-0.5,0,0.5]; %准备好v值 for j=1:1:100 for i=1:1:8 %8个值轮换 set(arrows,'UData',u(i),'VData',v(i)); pause(0.1); end end
每次i循环效果如下