Peducate.ir

Peducate.ir

با هم بیاموزیم
Peducate.ir

Peducate.ir

با هم بیاموزیم

محاسبه زاویه بین دو بردار با دستور norm در متلب

محاسبه زاویه بین دو بردار با دستور norm در متلب

به لحاظ هندسی می دانیم که ضرب داخلی دو بردار به اندازه دو بردار و زاویه بین آنها وابسته است. در نرم افزار متلب (Matlab)، با استفاده از دستور norm می توان زاویه میان دو بردار را تعیین کرد.

 

به مثال زیر توجه کنید:

u=[1, 2, 3];

v=[-1, 0, 4];

theta=acos((u*v')/(norm(u)*norm(v)))

در مثال فوق با استفاده از دستور v' بردار v ترانهاده می شود. همچنین می توان از دستور rad2deg(theta) برای تبدیل زاویه از رادیان به درجه استفاده کرد.

نظرات 2 + ارسال نظر
خان احمدی دوشنبه 12 تیر 1402 ساعت 12:36 ب.ظ

Teta=acosd(dot(u,v)/sqrt(dot(u,u)*dot(v,v)))

سلام دوست عزیز
دستور فوق چک شد و به همین صورت صحیح است.
برای اطمینان میتونید بجای v از u استفاده کنید و مشاهده می کنید که زاویه صفر رو نتیجه می دهد.
سپاس از نظر شما

خان احمدی دوشنبه 12 تیر 1402 ساعت 12:32 ب.ظ

با سلام
این دستور محاسبه زاویه بین دو بردار با استفاده از تابع norm در صورتی که دو بردار یکسان باشید، صحیح نیست و مقدار موهومی به دست می‌آید.
در مخرج این دستور بهتر است که از sqrt(u.u)*sqrt(v.v) استفاده کنید.
اما اگر دو بردار یکی نباشند، جواب صحیح ارائه میکند.

سلام دوست عزیز
دستور فوق چک شد و به همین صورت صحیح است.
برای اطمینان میتونید بجای v از u استفاده کنید و مشاهده می کنید که زاویه صفر رو نتیجه می دهد.
سپاس از نظر شما

ایمیل شما بعد از ثبت نمایش داده نخواهد شد