johnny maxwell
New member
שאלה ב MATLAB
לא בדיוק שפת תכנות אבל בכל זאת... אני רוצה לבנות טבלת LOOKUP, והבעייה היא כזאת: אני מעוניין להימנע מלולאות במידת האפשר. נניח שלכל איבר במערך B אני מעוניין לבצע פעולה לפי טבלה A. למשל, נניח ש A הוא מערך עם שתי עמודות. העמודה הראשונה היא ערכים (שמהווים את כל טווח הערכים שאיבר במערך B יכול לקבל), והעמודה השנייה היא מהווה מידע נוסף שקובע איזו החלטה לקחת (נניח באיזה מספר להכפיל את הערך במערך B). איך עושים את זה בלי לולאה? השורה הבאה B(FIND(B==A))=SOMETHING טובה רק אם A הוא סקלר (או אם זו מטריצה במימד של B אבל אז זה לא מתאים למה שאני רוצה). אני יכול לעשות זאת עם לולאה שרצה על מערך A, אבל כאמור, זה מה שאני רוצה למנוע. זה קריטי ליעילות כי אני אמור לעבוד עם מערכים רב מימדיים גדולים... מקווה שהצלחתי להבהיר את הבעייה. תודה.
לא בדיוק שפת תכנות אבל בכל זאת... אני רוצה לבנות טבלת LOOKUP, והבעייה היא כזאת: אני מעוניין להימנע מלולאות במידת האפשר. נניח שלכל איבר במערך B אני מעוניין לבצע פעולה לפי טבלה A. למשל, נניח ש A הוא מערך עם שתי עמודות. העמודה הראשונה היא ערכים (שמהווים את כל טווח הערכים שאיבר במערך B יכול לקבל), והעמודה השנייה היא מהווה מידע נוסף שקובע איזו החלטה לקחת (נניח באיזה מספר להכפיל את הערך במערך B). איך עושים את זה בלי לולאה? השורה הבאה B(FIND(B==A))=SOMETHING טובה רק אם A הוא סקלר (או אם זו מטריצה במימד של B אבל אז זה לא מתאים למה שאני רוצה). אני יכול לעשות זאת עם לולאה שרצה על מערך A, אבל כאמור, זה מה שאני רוצה למנוע. זה קריטי ליעילות כי אני אמור לעבוד עם מערכים רב מימדיים גדולים... מקווה שהצלחתי להבהיר את הבעייה. תודה.