【海浪建模2】三维海浪建模以及海浪发电机建模matlab仿真
2023-09-11 14:15:33 时间
1.软件版本
matlab2017b
2.核心源码
function func_power_gen_machine(HHup,R_buoy,seepart,seeall);
if seepart == 0 & seeall == 1
%先产生固定部分
%第一:海底的圆柱体
t = 0:pi/20:2*pi;
RR = 100;
HH = -6.5;
x= 600+RR*sin(t);
y= 300+RR*cos(t)/2;
z=linspace(-8,HH,length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
surf(X,Y,Z);
xlabel('x'),ylabel('y'),zlabel('z')
shading interp;
colormap([255/255,100/255,103/255]);
hold on
clear X Y Z
%第二:上半部分的柱体
t = 0:pi/20:2*pi;
RR2 = 60;
HH2 = -6;
x= 600+RR2*sin(t);
y= 300+RR2*cos(t)/2;
z=linspace(-8,HH2,length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
surf(X,Y,Z);
xlabel('x'),ylabel('y'),zlabel('z')
shading interp;
colormap([255/255,100/255,103/255]);
hold on
clear X Y Z
%第三:线圈
HH3 = -8:0.5:-3;
for i = 1:floor(length(HH3)/2)
t = 0:pi/20:2*pi;
RR3 = 10;
x= 600+RR3*sin(t);
y= 300+RR3*cos(t)/2;
z=linspace(HH3(2*i-1),HH3(2*i),length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
plot3(X,Y,Z,'b');
xlabel('x'),ylabel('y'),zlabel('z')
shading interp;
colormap([255/255,100/255,103/255]);
hold on;
end
alpha(0.5);
clear X Y Z
HHup = HHup + 0.1;
%第四:滑动活塞
t = 0:pi/20:2*pi;
RR2 = 15;
x= 600+RR2*sin(t);
y= 300+RR2*cos(t)/2;
z=linspace(-6+HHup,-5+HHup,length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
surf(X,Y,Z);
xlabel('x'),ylabel('y'),zlabel('z')
shading interp;
colormap([255/255,100/255,103/255]);
hold on
alpha(0.5);
clear X Y Z
%第五:连接引线
t = 0:pi/20:2*pi;
RR2 = 0.01;
x= 600+RR2*sin(t);
y= 300+RR2*cos(t)/2;
z=linspace(-5+HHup,0+HHup,length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
plot3(X,Y,Z,'k');
xlabel('x'),ylabel('y'),zlabel('z')
shading interp;
colormap([255/255,100/255,103/255]);
hold on
alpha(0.5);
clear X Y Z
%第六:水面浮标,球形
t=linspace(0,pi,25);
p=linspace(0,2*pi,25);
[theta,phi]=meshgrid(t,p);
x= 600+R_buoy*sin(theta).*sin(phi);
y= 300+R_buoy*sin(theta).*cos(phi)/2;
z=R_buoy*cos(theta)/28 + HHup;
surf(x,y,z);
shading interp;
colormap([255/255,100/255,103/255]);
hold on
alpha(0.5);
alpha(0.5);
end
if seepart == 1 & seeall == 0
%第六:水面浮标,球形
t=linspace(0,pi,25);
p=linspace(0,2*pi,25);
[theta,phi]=meshgrid(t,p);
x= 600+R_buoy*sin(theta).*sin(phi);
y= 300+R_buoy*sin(theta).*cos(phi)/2;
z=R_buoy*cos(theta)/28 + HHup;
surf(x,y,z);
shading interp;
colormap([255/255,100/255,103/255]);
hold on
alpha(0.5);
alpha(0.5);
end
3.测试结果
在上一次的成果基础之上【海浪建模1】,加入了海浪发电机的动态效果,以及简单的计算一下发电量。根据设计要求,整个发电机之后,仿真的效果如下所示:
从这里可以看到,控制界面做了下调整,增加了三个按键,其中,part_View是海面浮标的动态效果,All_View是整个发电机的动态效果,Close the power mach则是关闭发电机的动态效果,仅仅显示海浪的效果,electricity则是显示发电量的效果。整个系统仿真结果如下所示:
最初的海浪建模:
点击Part_View按键:
调整视角滑动条,如下的效果:
点击All_View按键:
调整视角滑动条,如下的效果:
点击Close the power Mach按键:
A19-07
相关文章
- Matlab中max函数
- Matlab中运算符重载
- Matlab中switch, case, otherwise语句
- 【MATLAB教程案例100】人脸图像的无线传输通信链路及远程识别系统matlab仿真(下)——人脸识别
- 【MATLAB教程案例93】在MATLAB中通过mex将C语言转化为matlab可执行的mexw64文件
- 【MATLAB教程案例79】基于移动节点WSN的最短路由matlab仿真——应用于车组网或无人机组网等
- 【MATLAB教程案例58】使用matlab实现yolov2网络目标检测功能与仿真分析
- 【MATLAB教程案例44】通过matlab学习三维曲面的建模,颜色,透明度,动态变化等——以海浪曲面函数为例
- 【MATLAB教程案例43】初识matlab中三维数据处理相关函数——plot3,surf,mesh,isosurface,slice等
- 【MATLAB教程案例40】语音信号的共振峰频率倒谱法估计matlab仿真学习
- 【MATLAB教程案例11】基于PSO粒子群优化算法的函数极值计算matlab仿真及其他应用
- 【MATLAB教程案例1~10总结】通信类matlab仿真经验和技巧总结
- 【海浪建模1】海浪建模的理论分析和matlab仿真
- 基于MATLAB的维纳滤波复原图像复原与重建设计
- 信号的Fourier分析的matlab编程
- 【CIC滤波器】基于MATLAB/FPGA的数字CIC滤波器的设计
- 《数字图像处理与机器视觉——Visual C++与Matlab实现(第2版)》——第 1 章 MATLAB数字图像处理编程基础2.1 MATLAB R2011a简介
- 《数字图像处理与机器视觉——Visual C++与Matlab实现(第2版)》——2.3 MATLAB的图像转换
- 【Matlab 六自由度机器人】关于旋转的参数化(欧拉角、姿态角、四元数)的相关问题(附MATLAB代码辅助理解)
- 【Matlab 六自由度机器人】基于蒙特卡罗方法(Monte Carlo Method)构建机器人工作空间(附MATLAB建模仿真完整代码)
- 【Matlab算法】修正G-N法求解非线性最小二乘优化问题(附修正G-N法MATLAB代码)
- matlab中meshgrid函数的用法
- MatLab GUI Change Size 改变界面大小
- manjarao中matlab 2021a的安装与配置