當前位置:首頁 » 編程語言 » c語言如何畫數學函數圖像
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言如何畫數學函數圖像

發布時間: 2022-08-06 02:57:14

『壹』 c語言編程:怎麼讓編寫的程序理解用戶給出的函數解析式,並繪制出相應的函數圖像

挺有意思的問題,簡單談一下看法
將你的需求分成兩部分,一是讓程序自行解析用戶輸入的函數解析式,二是繪制函數圖像。
首先,關於第一個功能,最直接的思路就是字元串解析,按照數學知識定義不同的運算符號,按照使用習慣定義常用的變數和常量的符號字母,然後據此規則解析輸入的字元串,再根據解析結果確定函數中基本運算的次數及運算順序,最後將整個操作流程以一定形式存儲起來即可。
例如,對於y=log(x^2+x),包含三次基本運算,第一步是x^2,第二步是上一步的結果+x,第三步是上一步的結果求對數。注意到log有定義域的限制,這也是要在程序中實現的。
然後,對於第二個功能,根據給定函數繪制圖像並不難,對於一元和二元函數來說很容易實現,難點在於多元函數應如何繪制直觀易懂的函數圖像?不過這一點超出編程語言的范疇了,而且二元函數可以滿足大部分應用場景了。
繪制函數圖像的程序只需在定義域上按指定的步長求出不同自變數對應的函數值,然後將點連成線,即可繪制出函數圖像。例如對於logx,定義域為x>0。假設步長為0.1,則可求出0.1,0.2,0.3,...,99.9,100.0的函數值,然後繪制出點,再連點成線,即可得到函數圖像。
另外,這里還有很多細節沒有討論,例如輸入數據是字元串還是圖像;是否可以用其他方法解析輸入,例如神經網路。這些就很復雜了,不再深入。
回答中可能有考慮不周的地方,希望上述內容對你有參考意義

『貳』 怎麼用c語言畫函數圖像

我畫了半個正弦函數,其餘的你可以照著畫,歡迎討論,
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "graphics.h"

void main()
{
int driver,mode,i;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,"");
setcolor(15);
for(i=0;i<360;i++)

line(i,200*sin(i*3.14/360),i+1,200*sin((i+1)*3.14/360));

getch();
restorecrtmode();
}

『叄』 怎樣用c語言畫函數曲線圖

DOS裡面可以直接操作顯存,windows里就不行了,尤其是NT系統。建議用GDI獲DX吧

『肆』 急!!用c語言畫數學函數圖像(一次函數、二次函數、反比例函數)

http://download.csdn.net/detail/himulakensin/5055276
用c++寫的(實際上和C區別不大,就用了類封裝了一些成員函數,可以很簡單改成C)

『伍』 如何用c語言畫函數圖像

用GDI繪圖吧,比較簡單。繪圖的思想是讓x以固定的值在區間內持續增長,比如x=0.1,0.2,0.3.....,以計算出的y值來確定y坐標。用線連接所有的點就行了。MoveTo(),LineTo()函數你用得著,具體情況請自行查看MSDN。

『陸』 怎樣用C語言畫一個函數的圖像啊

和數學上一樣啊 來個坐標x,y 分別表示列和行 。在函數上就列印一個* 給個范圍,雙層循環加條件就可以了

『柒』 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. ");

  • exit(EXIT_FAILURE);

printf("xres: %d ", info.xres);

printf("yres: %d ", info.yres);

printf("bits_per_pixel: %d ", 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. ");

『捌』 怎樣用c語言根據函數式畫出圖形來,要用到那些函數

這樣根據你的開發環境,如果是TC,W-TC,就是用一樓的graphics.h
這是一個圖形庫,裡面有函數,你去網路查一下這個頭文件的全部函數,包含劃線,畫矩形,畫圓。等等
如果是VC開發環境,就要用到工程,建一個win32 application,調用編譯器的API函數,API就是應用程序介面,裡麵包含了一系列的圖形函數,如果你想了解,可以參考MSDN,去看看windows程序設計這本書,他詳細講述了API函數的常用例子和用法

最後,對比一下graphics.h 和API函數,graphics.h 是運行在DOS下的,API函數是運行在windows下的,一個樸素,一個更美觀

『玖』 怎麼用C語言編寫一個畫初等函數圖像的程序。初學者,作業,跪求!謝

c語言中兩種方法都可以,但有區別scanf("%s",s)是讀取不到空格的,但gets(s)可以。
兩種方法都是一個一個字元讀取的。不同的是scanf是遇到空格或者回車鍵就會結束,但gets是只有輸入回車鍵才會終止讀取字元串!
還有疑問可以追問!

『拾』 用c語言寫程序,此程序能畫出來函數y=2x+5的曲線圖形。

此題把數學問題轉化為用C語言描述即可,很多畫圖問題可以使用這種方法。

  1. 假設屏幕左上角為坐標軸原點



#include<stdio.h>
#defineMAX30//選定曲線要顯示的范圍,因為一次函數是一條直線,所以它的顯示範圍無窮
intmain()
{
intx,y;
for(y=30;y>=0;y--)
{
for(x=0;x<MAX;x++)
{
if(y==2*x+5)
{
printf("*");
}
else
{
printf("");//空格,不滿足y=2x+5的點
}
}
printf(" ");//x軸已經到顯示範圍,所以需要換行。
}
return0;
}