امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ترسیم نمودار
نویسنده پیام
فاطمه وطن دوست آفلاین
عضو افتخاری
****

ارسال‌ها: 510
موضوع‌ها: 101
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 936
( 1000 تشکر در 386 ارسال )
ارسال: #1
ترسیم نمودار
سلام

نموداری( پزشکی) میخوام ترسیم کنم که هزاران x و هزاران y را در چند سیکل زمانی ترسیم کنه و بعد از رسم نمودار انتگرال ناحیه ی زیرین نمودار محاسبه شود.


راهنمایی بیشتر( مثال)
مثل نوار قلب که به صورت خیلی طولانی ترسیم میشه

لینک زیر رو ببینید.
http://fa.wikipedia.org/wiki/%D9%BE%D8%B...tegral.svg

و در نهایت بعد از ترسیم میخوام انتگرال سطح زیرین نمودار رو محاسبه کنه.

به نظر شما کدوم برنامه میتونه این ترسیم رو بدون خطا انجام بده؟

متلب چطوره؟آیا پاسخگوی سوال من(البته به صورت سیکل ) هست؟

بسته آموزشی فتوشاپ جلوه... در صورت تمایل به داشتن این بسته پیغام خصوصی بدید.
نرم افزار اندرویدی آزمون تستی ...... (مخصوص مربیان و هنر جو ها)
(آخرین ویرایش در این ارسال: ۲۵-اردیبهشت-۱۳۹۱, ۰۰:۵۶:۳۹، توسط فاطمه وطن دوست.)
۲۵-اردیبهشت-۱۳۹۱, ۰۰:۴۹:۳۲
ارسال‌ها
پاسخ
bitaroos آفلاین
تازه وارد

ارسال‌ها: 24
موضوع‌ها: 1
تاریخ عضویت: فروردین ۱۳۹۱

تشکرها : 19
( 25 تشکر در 17 ارسال )
ارسال: #2
RE: ترسیم نمودار
سلام
تا اونجایی که من می دونم اگر بخواید از نرم افزار متلب استفاده کنید. باید تابع ریاضی نمودار رو داشته باشید. مثلا
تابع شما x-2 به توان 2 باشه و از بازه ی 0 تا 4 بخواید انتگرال رو حساب کنید، که تو متلب کدش به صورت زیر میشه
کد:
>> Fnc = @(x)(x-2).^2;
>> q = quad(Fnc,0,4)

توی مثال بالا ما از دستور آماده quad که در متلب وجود داره و کار انتگرال گیری رو انجام میده، استفاده کردیم، ولی برای کار شما که یه نمودار بسیار پیچیده و غیر استاندارد دارید، بعید می دونم به این راحتی ها با متلب مساحت زیرش رو بتونید محاسبه کنید.
البته شاید هم بشه ولی من بلد نیستم.

من در حال نوشتن یه برنامه برای آنالیز نمودار های X-Ray هستم، که نمودارهایی رو باید تحلیل کنه که شبیه نمودارهایی هست که شما گفتید.

کدنویسی محاسبه مساحت زیر نمودار رو انجام دادم(با زبان سی شارپ)، بسته به نمودار، می تونه خطاش زیاد یا کم باشه، هنوز دارم روش کار می کنم تا خطاش رو خیلی کم کنم.
البته هیچ وقت نمیشه به خطای صفر رسید، چون حتی برای نمودار های استانداردهم خطا صفر نمیشه، چه برسه به این نمودارهای درهم و برهم.

اگر خواستی، فایل داده هات رو همینجا بزار تا ببینم می تونم با نرم افزارم مساحتش رو محاسبه کنم یا نه؟

در ضمن تا تکمیل شدن نرم افزار که حدود 10 ماه دیگه طول میکشه، نمی تونم نحوه ی کد نویسیش رو فاش کنم چون تقریبا از یه الگوریتم جدید استفاده کردم که خطا رو نسبت به نرم افزار های مشابهش، به شدت کاهش داده.

موفق باشید.
۲۵-اردیبهشت-۱۳۹۱, ۱۰:۴۵:۳۱
ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
فاطمه وطن دوست آفلاین
عضو افتخاری
****

ارسال‌ها: 510
موضوع‌ها: 101
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 936
( 1000 تشکر در 386 ارسال )
ارسال: #3
RE: ترسیم نمودار
این مطلب رو اضافه کنم که محور x ها همواره مقادیر بین 0 تا 90 (درجه-

برای حرکت زانو) هست.و محور yها نیروی وارد بر زانوی شخص وارتباط بین این

دو مقدار مشخص نیست.

نرم افزار آماری دیگه ای وجو.د نداره که این کارو براحتی انجام بده؟


به نظر شما فرمان plot میتونه با ایجاد نقطه روی محورها محاسبه ی مربوطه

رو بدون خطا انجام بده ؟

مثلا دو تا آرایه برای مقادیر x,y تعریف کنیم و بعد تو یه یه حلقه مقادیر

رو ارسال کنیم به این تابع تا بعد از ایجاد نقاط و اتصال اونا بهم منحنی

مربوطه ترسیم و با انتخاب بهترین منحنی و وصل کردن ابتدا و انتهای منحنی

بدست آمده به محور x ها نتیجه مطلوب رو پیدا کرد؟




بسته آموزشی فتوشاپ جلوه... در صورت تمایل به داشتن این بسته پیغام خصوصی بدید.
نرم افزار اندرویدی آزمون تستی ...... (مخصوص مربیان و هنر جو ها)
۲۵-اردیبهشت-۱۳۹۱, ۱۳:۲۰:۱۱
ارسال‌ها
پاسخ
bitaroos آفلاین
تازه وارد

ارسال‌ها: 24
موضوع‌ها: 1
تاریخ عضویت: فروردین ۱۳۹۱

تشکرها : 19
( 25 تشکر در 17 ارسال )
ارسال: #4
RE: ترسیم نمودار
من متوجه نشدم شما می خواید مساحت زیر نمودار رو حساب کنید یا به یک رابطه که ارتباط x و y رو بیان کنه دست پیدا کنید؟؟؟

دستور plot فقط برای نمایش نمودار به کار میره، یعنی وقتی بخواید یه دید کلی از رفتار داده هاتون داشته باشید استفاده میشه، و هیچ گونه عملیات دیگه ای انجام نمیده، نه خطوط رو به هم وصل می کنه و نه هیچ کار دیگه ای، البته شکل ظاهری ای که از نمو دار به ما نشون می ده، خطوط رو به هم وصل کرده، ولی در حقیقت خطوط رو به هم وصل نمیکنه، نمی دونم متوجه منظورم شدید یا نه!!!!

اگر مساحت زیر کل نمودار رو می خواید، این ایده ای که دادید می تونه عملی باشه، بستگی به شکل نمودارتون داره. برای نمودار های مورد استفاده من، این روش شما جواب نمیده.
بهر حال برای تکمیل و اصلاح پیشنهاد جالب شما جهت محاسبه مساحت باید بگم که با دو روش می تو نید این کار رو بکنید:

روش اول: با استفاده از دو نقطه (x1,y1) و (x2,y2)معادله یک خط رو بدست بیارید. بعد با ارسال این معادله به تابع quad مساحت زیر این خط رو محاصبه کنید، بعد با استفاده از دو نقطه (x2,y2) و (x3,y3)معادله بعدی رو بدست بیارید و ...
و در نهایت مجموع مساحت های محاسبه شده، مساحت زیر نمودار رو بهتون میده. که این کار هارو باید با حلقه for انجام بدید.

روش دوم: با استفاده از هر دو نقط مثل(x1,y1) و (x2,y2)، مساحت ذوزنقه ها رو بدست بیارید و با هم جمع کنید، که این روش دقیق تر از روش قبل میشه.

احتمالا روش های بهتری هم باشه ولی چیزی بهتر از این به ذهنم نرسید.
۲۵-اردیبهشت-۱۳۹۱, ۱۴:۲۷:۳۷
ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
فاطمه وطن دوست آفلاین
عضو افتخاری
****

ارسال‌ها: 510
موضوع‌ها: 101
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 936
( 1000 تشکر در 386 ارسال )
ارسال: #5
RE: ترسیم نمودار
ببینید من چنین کدی رو با داده های فرضی و کم در نظر میگیرم.

x= 0:2
y=1:3
for cnt=1:3
plot(x(cnt),y(cnt))

حالا میخوام انتگرال گیری رو با استفاده از تابع int انجام بدم.

این انتگرال رو شما چطور می نویسید؟این نمونه رو تست میکنید بیزحمت؟


بسته آموزشی فتوشاپ جلوه... در صورت تمایل به داشتن این بسته پیغام خصوصی بدید.
نرم افزار اندرویدی آزمون تستی ...... (مخصوص مربیان و هنر جو ها)
۲۵-اردیبهشت-۱۳۹۱, ۱۵:۵۶:۲۶
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #6
RE: ترسیم نمودار
(۲۵-اردیبهشت-۱۳۹۱, ۰۰:۴۹:۳۲)فاطمه وطن دوست نوشته است: سلام

نموداری( پزشکی) میخوام ترسیم کنم که هزاران x و هزاران y را در چند سیکل زمانی ترسیم کنه و بعد از رسم نمودار انتگرال ناحیه ی زیرین نمودار محاسبه شود.


راهنمایی بیشتر( مثال)
مثل نوار قلب که به صورت خیلی طولانی ترسیم میشه

لینک زیر رو ببینید.
http://fa.wikipedia.org/wiki/%D9%BE%D8%B...tegral.svg

و در نهایت بعد از ترسیم میخوام انتگرال سطح زیرین نمودار رو محاسبه کنه.

به نظر شما کدوم برنامه میتونه این ترسیم رو بدون خطا انجام بده؟

متلب چطوره؟آیا پاسخگوی سوال من(البته به صورت سیکل ) هست؟
از اونجایی که شما نمودارتون رو بر پایه هزاران نقطه متصل به هم رسم کردید نه به وسیله یک

تابع خاص، پس به نظرم به جای گرفتن انتگرال می تونید مساحت رو به شیوه نمودار ستونی

محاسبه کنید، یعنی مساحت می شه مجموع تمام y های شما.

برای رسمش هم کافیه پس از جانمایی نقاط، اونها رو به هم متصل کنید.

یک کامپوننتی هست به نام Fusion Chart که می تونه کمک زیادی برای شما باشه.


۲۵-اردیبهشت-۱۳۹۱, ۱۷:۴۹:۱۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
bitaroos آفلاین
تازه وارد

ارسال‌ها: 24
موضوع‌ها: 1
تاریخ عضویت: فروردین ۱۳۹۱

تشکرها : 19
( 25 تشکر در 17 ارسال )
ارسال: #7
RE: ترسیم نمودار
(۲۵-اردیبهشت-۱۳۹۱, ۱۵:۵۶:۲۶)فاطمه وطن دوست نوشته است: ببینید من چنین کدی رو با داده های فرضی و کم در نظر میگیرم.

x= 0:2
y=1:3
for cnt=1:3
plot(x(cnt),y(cnt))

حالا میخوام انتگرال گیری رو با استفاده از تابع int انجام بدم.

این انتگرال رو شما چطور می نویسید؟این نمونه رو تست میکنید بیزحمت؟

اول باید بگم که اصلا کاری با دستور plot نداریم.
و اینکه دستور plot رو اشتباه نوشتید، باید کد های بالا رو به صورت زیر می نوشتید.
کد:
>> x=0:2;
>> y=1:3;
>> plot(x,y)

و حالا نحوه محاسبه انتگرال:
البته قبلش بگم که بجای x و y ، من از a و b استفاده کردم
یعنی مختصات x رو توی a و مختصات y رو توی b گذاشتم.
به عبارت دیگه 3 تا نقطه دارم
(a3,b3) و (a2,b2) و (a1,b1)

...................................
کد:
%% start

clc
clear
close all;

%% Define Variables

a = 0:2;
b = 1:3;
syms x;
sum = 0;

%% Make Functions & Calculate Integral

for cnt=1:2
m = (b(cnt) - b(cnt+1)) ./ (a(cnt) -a (cnt+1));
y = m .* (x - a(cnt)) + b(cnt);
sum = sum + int(y,a(cnt),a(cnt+1));
end

%% Display Result
plot(a,b);
disp(sum);

دستور plot رو همینجوری نوشتم تا تابع رو نشونتون بده وگرنه برامون هیچ کار مفیدی انجام نمیدهSmile

راستی، این کدها رو توی m فایل نوشتم نه توی Command Window
برای ایجاد یه m فایل باید مسیر زیر رو دنبال کنی
file>new>script
وبعد هم F5 رو برای اجرای برنامه بزنی
جواب انتگرال هم توی Command window نشون داده میشه
(آخرین ویرایش در این ارسال: ۲۵-اردیبهشت-۱۳۹۱, ۱۹:۵۷:۳۹، توسط bitaroos.)
۲۵-اردیبهشت-۱۳۹۱, ۱۹:۴۵:۱۱
ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
جلالی آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۹۰

تشکرها : 6
( 78 تشکر در 45 ارسال )
ارسال: #8
RE: ترسیم نمودار
خدمت خواهر گرامی
برنامه خیلی ساده ای است فقط اگر ایکس ها از یک الگوی ترتیبی پیروی کند خیلی خیلی ساده ترهم می شود
مثلا
1و2 2و7 3و0 4و25 5و14 .... ایکس ها صعودی اند
در غیر این صورت باید مجموعه داده ها بر اساس ایکس سورت شوند
اگر فاصله ایکس ها از هم دیگر مقدار ثابتی باشد( در اعداد بالا یک است)
در اینصورت انتگرال گیری مساحت زیر منحنی خیلی ساده تر است (تک تک ایگرگ ها در فاصله ضرب می شود)
در غیر اینصورت هر ایگرگ در دیفرانسیل نقاط ایکس مر بوطه ضرب شده وباهم جمع می شوند
رسم نمودار هم اگر طولش خیلی بلند باشد با بر نامه های اماری قابل نشان دادن است (اگر که قابل نوشتن هم است)
۲۵-اردیبهشت-۱۳۹۱, ۲۳:۰۶:۰۹
ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  نمودار اروخانه fatemesh 1 1,949 ۰۴-خرداد-۱۳۹۲, ۰۶:۰۰:۲۰
آخرین ارسال: aKaReZa75

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS