PDA

View Full Version : رسم نمودار سینوس و کسینوس



sedaghat_msp
یک شنبه 15 آذر 1388, 21:28 عصر
سلام
دوستان عزیز چه شکلی میتونیم نمودار این تابع را رسم کنیم ؟
Sin nx
Cos nx
n = درجه
میدونم خیلی پیچیده نیست ولی من گیج شدم ! :خجالت:

Saeed.Masoumi
یک شنبه 15 آذر 1388, 22:41 عصر
سلام
یک سوال؟اون N درجه است یعنی چی؟اگه N ثابت است (چون X متغییر است) نباید واحد داشته باشد.شما اگر N را یک در نظر بگیرید نمودار (مثلا) CosX را رسم می کنید اما اگر بزرگتر از یک در نظر بگیرید همان نمودار از نظر محور X ها فشرده تر و در صورتی که n کوچکتر از 1 باشد نمودار نسبت به محور x ها باز تر می شود
حالا ریاضی بس بریم سر برنامه نویسی:
ابتدا :



using System.Drawing;
using System.Drawing.Drawing2D;

سپس این تابع را بنویسید برای تبدیل درجه به رادیان:



private double DegreeToRadian(double angle)
{
return Math.PI * angle / 180.0;
}

یک پانل بر روی فرمتان قرار دهید (نام آن را Panel1 بگذارید)
سپس این تابع را برای رسم نمودار بنویسید:



private void Draw(double N)
{
int Yoffset = panel1.Height / 2;
Graphics G = panel1.CreateGraphics();
Pen P = new Pen(Color.Red, 1.5f);
float x1, y1;
for (double X = 0; X <= 360; X++)
{
x1 = (float)X;
y1 = Yoffset + ((float)Math.Sin(DegreeToRadian(X*N)) * 100);
G.DrawRectangle(P, x1, y1, .5f, .5f);
}
P.Dispose();
}

نکته:
اون * 100 برای این است که عرض نمودار رسم شده را بیشتر کنیم تا موج سینوسی قابل دیدن باشد (اگر دارین از این نمودار در محاصبات ریاضی استفاده می کنید حواستان به این * 100 باشد)
سپس یک باتن روی فرم قرار داده و کد زیر را در رویداد باتن کلیک قرار دهید(من N را برابر 1 در نظر گرفتم) :



private void button1_Click(object sender, EventArgs e)
{
Draw(1);
}

mostafa.t_1992
چهارشنبه 15 دی 1389, 20:28 عصر
من یه برنامه میخوام که تابع cosx رو رسم کنه یعنی توی زبان c

Mehdi Naderi
چهارشنبه 15 دی 1389, 21:35 عصر
برای رسم تابع سینوس و کسینوس باید از سری مکلورن و تیلور استفاده کنید

ghasem110deh
چهارشنبه 30 مهر 1393, 20:35 عصر
سلام ...
من الان از این کد استفاده کردم و ورودی رو از تکست باکس میگیرم ؛
1- چطور موج قبلی رو که رسم شده با کلیک دوباره پاک کنم ؟
2- چطور میشه به این موج سینوسی زمان هم اضافه کرد تا بر حسب زمان فرکانس رو بر حسب هرتز نشون بده ؟
و اینکه میشه این رسم حرکت (مثل یک موج مداوم) کنه ؟
.
.
.
در واقع باید یه اسپکتروم آنالایزر (خیلی ساده) به استاد تحویل بدم !