本文目录一览:
- 1、急急急 用MATLAB编程 quiver命令绘制电场强度
- 2、谁能帮我写2个matlab画图程序,物理的,像点电荷的电场线什么的,随便2个就行,急
- 3、用C语言画波形图啊……急求
- 4、如何用c语言画图,举几个最简单的例子
- 5、c语言流程图怎么画
- 6、C语言如何画图
急急急 用MATLAB编程 quiver命令绘制电场强度
clear
v='1./((x-3).^2+y.^2).^0.5+1./((x+3).^2+y.^2).^0.5';%电势计算方程
xmax=10;ymax=10; ngrid=30;
xplot=linspace(-xmax,xmax,ngrid); %绘图区域、网格线设定
[x,y]=meshgrid(xplot);%生成二维网格
vplot=eval(v);%执行输入的电势计算方程
[explot,eyplot] =gradient(-vplot);%计算电场强度
clf;meshc(vplot);% 画含等势线的三维曲面
xlabel('X');ylabel('Y');zlabel( '电势')
figure(2)
axis([-xmax,xmax,-ymax,ymax]);
et=contour(x,y,vplot);
clabel(et);hold on;
quiver(x,y,explot,eyplot);
xlabel('x'),ylabel('y');
hold off;
谁能帮我写2个matlab画图程序,物理的,像点电荷的电场线什么的,随便2个就行,急
1. 等量异号点电荷电场中电势分布
[x,y]=meshgrid(-2:0.1:2,-2:0.1:2);
%以0.1为步长建立平面数据网格
z=1./sqrt((x-1).^2+y.^2+0.01)... %写出电势表达式
-1./sqrt((x+1).^2+y.^2+0.01);
[px,py]=gradient(z);
%求电势在x,y方向的梯度即电场强度
contour(x,y,z,[-12,-8,-5,-3,-1,... %画出等势线
-0.5,-0.1,0.1,0.5,1,3,5,8,12])
hold on %作图控制
quiver(x,y,px,py,'k') %画出各点上电场的大小和方向
2. 等量同号点电荷的电场线的绘制
下面是写微分方程的函数文件:
function ydot=dcx1fun(t,y,flag,p1,p2)
%p1,p2是参量,表示电量
ydot=[p1*(y(1)+2)/(sqrt((y(1)+2).^2+y(2).^2).^3)+...
p2*(y(1)-2)/(sqrt((y(1)-2).^2+y(2).^2).^3);
%dx/dt=Ex
p1*y(2)/(sqrt((y(1)+2).^2+y(2).^2).^3)+...
p2*y(2)/(sqrt((y(1)-2).^2+y(2).^2).^3)];
%dy/dt=Ey
编写好函数文件后,命名为dcx1fun.m存在当前路径下,然后开始编写解微分方程的主程序dcx1.m:
p1=10; p2=10; %点电荷所带电量
axis([-5,5,-5,5]); %设定坐标轴范围 -5≤x≤5,-5≤y≤5
hold on %图形控制,不可擦除模式
plot(2,0,'*r'); plot(-2,0,'*r') %绘制两源电荷
a=(pi/24):pi/12:(2*pi-pi/24);
%圆周上电场线起点所对应的角度
b=0.1*cos(a);c=0.1*sin(a);
%电场线起点所对应的相对坐标
b1=-2+b;b2=2+b; %把起点圆周的圆心放置在源电荷处
b0=[b1 b2]; c0=[c c]; %初始条件,所有电场线的起点
%的横、纵坐标构成了矢量b0和c0
for i=1:48 %循环求解48次微分方程
[t,y]=ode45('dcx1fun',[0:0.05:40],[b0(i),c0(i)],[ ],p1,p2);
%调用ode45求解,对应一个初条件(起点),求解出一条电场线
plot(y(:,1),y(:,2),'b') %绘制出此条电场线
end %结束循环,共绘制出48条电场线
参考于《Matlab 在基础物理学中的应用》
用C语言画波形图啊……急求
简略回答就是把x,y轴的值对应到屏幕上的x,y整数值,然后画点并画两点之间的线。
如何用c语言画图,举几个最简单的例子
首先需要绘图函数的头文件在TC2.0中是graphics.h
然后需要初始化图形模式.
在利用绘图函数
矩形:bar
圆形:circle
直线:line
等等。你可以到graphics.h文件中去看这些函数的参数
举个例子
#include stdio.h
#include graphics.h
int main(void)
{
int gdriver; /*图形驱动器*/
int gmode; /*图形驱动模式*/
gdriver = DETECT; /*自动检测硬件,已确定图形驱动器*/
initgraph(gdriver,gmode,\"\");初始化图形设备
setbkcolor(BLUE); /*设置屏幕背景颜色为蓝色*/
circle(getmaxx() / 2,getmaxy() / 2,100); /*在屏幕中间绘制一个半
为100的圆*/
closegraph(); /*关闭图形模式*/
return(0);
}
c语言流程图怎么画
画法如下:
第一步:以特定的图形符号加上说明,表示算法的图,称为流程图或框图
打开流程编辑工具。
第二步:选择对应的图形
开始结束用椭圆形
过程用长方形
第三步::绘制整个流程的过程
第四步:将各个流程节点用线连接起来
第五步:添加备注
C语言如何画图
framebuffer(帧缓冲)。
帧的最低数量为24(人肉眼可见)(低于24则感觉到画面不流畅)。
显卡与帧的关系:由cpu调节其数据传输速率来输出其三基色的配比。
三基色:RGB(红绿蓝)。
在没有桌面和图形文件的系统界面,可以通过C语言的编程来实现在黑色背景上画图!
用下面的代码,在需要的地方(有注释)适当修改,就能画出自己喜欢的图形!
PS:同样要编译运行后才能出效果。
#include stdio.h
#include sys/mman.h
#include fcntl.h
#include linux/fb.h
#include stdlib.h
#define RGB888(r,g,b) ((r 0xff) 16 | (g 0xff) 8 | (b 0xff))
#define RGB565(r,g,b) ((r 0x1f) 11 | (g 0x3f) 5 | (b 0x1f))
int main()
{
int fd = open("/dev/fb0", O_RDWR);
if(fd 0){
perror("open err. \n");
exit(EXIT_FAILURE);
printf("xres: %d\n", info.xres);
printf("yres: %d\n", info.yres);
printf("bits_per_pixel: %d\n", info.bits_per_pixel);
size_t len = info.xres*info.yres*info.bits_per_pixel 3;
unsigned long* addr = NULL;
addr = mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
if(addr == (void*)-1){
perror("mmap err. \n");