clear;clc;close all
c=1000;
g=9.81;
lambda=0.025;
delta=0.005;
I=10; %x方向分段数
dx=0.2; %x方向的步长
T=0.2; %计算总时间
N=c; %t方向的分段数
dt=dx/c; %t方向的步长
A=1000;
w=1000;
%定义计算矩阵h和v
h=zeros(N+1,I+1);
v=zeros(N+1,I+1);
%计算h和v能确定的两个边界
%初始条件
h(1,:)=A;
v(1,:)=0;
t=0:dt:T;
%边界条件
h(:,1)=A*cos(w*t)';
v(:,I+1)=0;
NN=0;
eh=1; %定义误差
ev=1; %定义误差
msgbox('MATLAB编程答疑,请加QQ: 1530497909','MATLAB答疑','help')
web http://url.cn/TKcdXk -browser
while((ev>1e-5)|(eh>1e-5)) %当精度不满足时,继续迭代
h0=h; %保存前一次计算的h计算结果
v0=v; %保存前一次计算的v计算结果
for n=2:N+1 %计算h和v需要用内部点表示的边界
v(n,1)=(g/c)*(h(n,1)-h(n-1,2))+v(n-1,2)*(1-abs(v(n-1,2))*lambda*dt/(4*delta));
h(n,I+1)=h(n-1,I)+(c/g)*v(n-1,I)-v(n-1,I)*abs(v(n-1,I))*lambda*dx/(4*g*delta);
end
%计算中间点
for i=2:I
for n=2:N+1
h(n,i)=0.5*((h(n-1,i-1)+h(n-1,i+1))+(c/g)*(v(n-1,i-1)-v(n-1,i+1))-(lambda*dx/(4*g*delta))*(v(n-1,i-1)*abs(v(n-1,i-1))-v(n-1,i+1)*abs(v(n-1,i+1))));
v(n,i)=0.5*((g/c)*(h(n-1,i-1)-h(n-1,i+1))+(v(n-1,i-1)+v(n-1,i+1))-(lambda*dt/(4*delta))*(v(n-1,i-1)*abs(v(n-1,i-1))+v(n-1,i+1)*abs(v(n-1,i+1))));
end
end
%计算前后两个矩阵对应元素的最大误差
eh=max(max(abs((h0-h)./(h+eps))));
ev=max(max(abs((v0-v)./(v+eps))));
NN=NN+1; %记录循环次数
end
figure
subplot(3,1,1)
plot(t,h(:,1))
title('i=0处的h值随时间变化曲线')
subplot(3,1,2)
plot(t,h(:,6))
title('i=5处的h值随时间变化曲线')
subplot(3,1,3)
plot(t,h(:,11))
title('i=10处的h值随时间变化曲线')
[xx,tt]=meshgrid(0:I,t); %绘制x和y方向的网格线,以便绘制三维图
figure
mesh(xx,tt,h) %绘制h
xlabel('x')
ylabel('t')
zlabel('h')
figure
mesh(xx,tt,v) %绘制v
xlabel('x')
ylabel('t')
zlabel('v')
阿里matlab建模师
- 粉丝: 4594
- 资源: 2868
最新资源
- 一:本模型为abaqus2022版本绘制的增材制造仿真模型 二:本模型为44层的空心截面矩形模型,具体的尺寸如图所示
- 《基于主从博弈的智能小区代理商定价策略及电动汽车充电管理》代码复现 含参考文献,代码复现和详细代码注释 关键词:电动汽车 负荷聚合商 主从博弈 KKT条件 双层优化 编程语言:MATLAB平台
- Armoury-Crate-Uninstall-Tool
- 【有参考文献】基于扩展(EKF)和无迹卡尔曼滤波(UKF)的电力系统动态状态估计 该程序对应文章Power System Dynamic State Estimation Using Extende
- 【有参考文献】基于数据驱动的模型预测控制电力系统机组组合优化 该程序复现文章Feature-Driven Economic Improvement for Network-Constrained U
- MATLAB环境下一种基于改进拉普拉斯先验模型的旋转机械故障诊断方法 压缩包=数据代码参考 算法运行环境为MAYLAB R2018A,执行一种基于改进拉普拉斯先验模型的旋转机械故障诊断方法 for
- 提高Python网络编程实战视频教程网络抓取爬虫01解释性脚本语言初探.avi
- untitled90.emf
- Simulink简易自动化测试工具,批处理运行模型,能够实现模型简易仿真多次反复测试,简化手动重复配置参数,运行模型,保存结果的烦恼 已经过FEV大厂已经过多次验证,工具可靠稳定 该工具箱能够对一个
- 提高Python网络编程实战视频教程网络抓取爬虫02-1Python开发环境windows.avi
- 基于Python的Opencv和Mysql数据库来实现的完整人脸识别打卡考勤系统
- 直流微网储能系统SoC均衡 15kW,400V级 光伏采用电导增量法实现mppt 储能变流器内环采用模型预测MPC控制 外环电压环初级控制用下垂droop soc一致性实现基于变下垂系数 (具体方法可
- 提高Python网络编程实战视频教程网络抓取爬虫02-2Python开发环境linux.avi
- 计及绿证交易及碳排放的含智能楼宇微网优化调度模型-100%原创系列 摘要:代码主要做的是电热综合能源系统的优化调度问题,在传统的含风光储火的微网基础上,加入电动汽车以及智能楼宇单元,组成更加复杂的微网
- Python的基于知识图谱电影问答系统源码+说明(高分毕设)
- 提高Python网络编程实战视频教程网络抓取爬虫02-3Python开发环境wingide.avi
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈