نوشته اصلی توسط
farjam
سلام.میخواستم بدونم چطوری از یه چیزی نسبت به زمان انتگرال بگیرم.مثلا از چیزی که واحدش کیلوگرم بر ثانیه هست نسبت به زمانش انتگرال بگیرم تا کیلوگرم به دست بیاد
علیک سلام
خب اول باید یه بازه زمانی کوچیک تعریف کنی ، به قدری کوچیک که در طی اون بازه مقدار متغیرت زیاد تغییر نکنه و تقریبا ثابت باشه
بعدم زمانت رو به شکل این بازه ها در میاری (مثلا اگه کل زمانت 2 ثانیه س و زمان بازه هم 0.2 ثانیه ، کل زمانت رو به 10 تا بازه نقسیم میکنی)
متوسط مقدار متغیرت رو توی هرکدوم ار این بازه ها در اندازه بازه ضرب میکنی و حاصل رو با حاصل بقیه بازه ها جمع میکنی (مقدار متوسط متغیر در هر بازه رو از روش های مختلف میتونی به دست بیاری یکیش که زیاد هم دقت نداره اینه که مقدار ابتدا یا انتهای هر بازه رو بذاری مقدار کل بازه)
برا کد نویسی هم مشابه این:
کد:
float t=20;
float s=0;
float v;
void loop()
{
v=analogRead(sensourpin);
s+=v*t;
delay(t);
}
که t همون بازه کوچیکه س ، v مقدار متغیر و s هم جمع مقادیر یا تقریبا انتگرال هست
برا افزایش دقت میتونی t رو کم تر کنی