编程:[转载教程]MATLAB对于文本文件(txt)数据读取的技巧总结
2013-01-03
振动论坛原版主eight的经典贴http://www.chinavib.com/thread-456阅读全文
编程:MATLAB实现粒子二维随机运动轨迹
2012-12-26
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
clear; n=10;%粒子数 step=200; %粒子前进的步数 jump=0.1; %每前进一步粒子的跳跃位置,这里认为是一个自然数,甚至程序中给出小数也可以。 figure; %创建绘图窗口 hold on; %打开重绘 grid; %显示网格 %以下是为了显示两个上下极限概率的边界 x_line=(1:step); y_line_upper=jump*x_line; %上边界的y值 y_line_lower=-jump*x_line; %下边界的y值 plot(x_line,y_line_upper); %绘制上边界 plot(x_line,y_line_lower); %绘制下边界 clear x_line;clear y_line_upper;clear y_line_lower; %清除这几个变量,节省内存 for m=1:n; %粒子数(n)个循环 move_x=zeros(100); %初始化粒子的横坐标位置数组 move_y=zeros(100); %初始化粒子的纵坐标位置数组 y=0; %初始位置的纵坐标 for x=1:step; %粒子随机前进500步 c=rand(1); %生成随机数 %以下生成的是非等概率分布 if c<=0.20 a=-jump; %概率分布为1/4 elseif c>0.10 && c<0.70 a=0; %概率分布为1/2 else a=jump; %概率分布为1/4 end y=y+a;%纵坐标y改变,横坐标是步长j move_x(x)=x; %把当前步长的粒子位置横坐标给位置数组 move_y(x)=y; %把当前步长的粒子位置纵坐标给位置数组 plot(x,y,'.'); %绘当前位置点 pause(0.00001);%延时绘图,动画显示 end plot(move_x,move_y,'r');%将点连线,形成粒子的运动轨迹 end clear all; %清除所有变量 |
视频演示:待更新 &n阅读全文
技术:G77与MATLAB接口和FORTRAN77语法概述/简单教程
2012-11-15
MATLAB与C++、G77的混合编程 《深入浅出MATLAB 7.X混合编程》 董维国 编著 电子阅读全文