c語言繪製電場圖,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”);

原創文章,作者:OKCV,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/144371.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
OKCV的頭像OKCV
上一篇 2024-10-25 13:51
下一篇 2024-10-25 13:51

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論