Systematics
  • About Us
    • אודות סיסטמטיקס
      • על סיסטמטיקס
      • לקוחות
      • תעשיה
      • קהילה
      • הורדת תעודות ISO
      • בלוג
      • דרכי הגעה
      • Privacy Policy
    • תחומים בסיסטמטיקס
      • תחום GIS
      • תחום 3D CAD/PLM
      • תחום MATLAB & Simulink
      • תחום 3D Printing
    • רכישה
      • חנות מדפסות תלת מימד וחומרים
      • חנות ESRI
      • צור קשר עם מכירות
    • תמיכה
      • תמיכה ושירותי ייעוץ
      • סקר שביעות רצון לקוחות
      • נהלי התקנה ורישוי GIS
      • נהלי התקנה ורישוי MATLAB
      • נהלי התקנה ורישוי SOLIDWORKS
      • פתיחת קריאות שירות
      • פתיחת קריאות שירות תחום GIS
    • קורסים
      • אודות מרכז ההדרכה
      • קורסים GIS
      • קורסים SOLIDWORKS
      • קורסים MATLAB & Simulink
      • קורסים ALTIUM
      • קורסים 3D Printing
    • קריירה
      • משרות
      • לעבוד בסיסטמטיקס
  • GIS
    • ראשי
      • אודות תחום GIS
      • קהילה
    • מוצרים ופתרונות
      • GIS בענן
      • GIS ברשויות מקומיות
      • GIS ארגוני – ArcGIS Enterprise
      • GIS למקצוענים – ArcGIS Pro
      • GIS למפתחים
      • חידושי מערכת ArcGIS
      • פתרונות GIS
    • DATA
      • מוצרי Data חברת סיסטמטיקס
      • סקירה על מוצרי ה-DATA
    • מקורות למידה
      • אירועים ברחבי הארץ
      • וובינרים מקוונים LIVE
      • וובינרים מוקלטים לצפייה ישירה
      • קורסים GIS
      • סיפורי לקוחות GIS
      • תכנית סטארטאפים GIS
      • עדכונים וניוזלטרים
      • בלוג
    • תמיכה
      • תמיכה טכנית
      • מקורות מידע
      • שירותים – תמיכה וייעוץ
      • נהלי התקנה ורישוי GIS
      • פתיחת קריאת שירות GIS
    • רכישה
  • 3D CAD/PLM
    • ראשי
      • אודות תחום 3D CAD/PLM
      • סיפורי הצלחה
      • רשתות חברתיות
      • דרושים לעבודה עם SOLIDWORKS
      • צרו קשר
    • מוצרים
      • SOLIDWORKS | CAD
      • 3DEXPERIENCE
      • CATIA | HIGH END CAD
      • ENOVIA | PLM
      • SOLIDWORKS Simulation
      • Altium Designer | PCB
      • 3D PRINTING
      • FREE TOOLS
      • מה חדש בגרסת SOLIDWORKS 2026
    • פתרונות
      • סטארטאפים
      • אקדמיה וחינוך
    • מקורות למידה
      • אירועים וסמינרים
      • וובינרים מקצועיים
      • וובינרים מוקלטים לצפייה ישירה
      • קורסים SOLIDWORKS
      • קורסים ALTIUM
      • בלוג SOLIDWORKS
      • בלוג ALTIUM
    • תמיכה
      • תמיכה טכנית
      • SOLIDWORKS Term Licensing
      • חידוש חוזה תחזוקה SOLIDWORKS
      • חידוש חוזה תחזוקה ALTIUM
      • מקורות מידע
      • תמיכה | FAQ
      • שירותים
      • Citrix GoToAssist Agent
      • פתיחת קריאות שירות
    • לקוחות
      • סיפורי הצלחה
  • MATLAB & Simulink
    • ראשי
      • אודות תחום MATLAB & Simulink
      • קהילה
    • מוצרים
      • MATLAB
      • יכולת ושילובי MATLAB
      • Audio System Toolbox
      • MATLAB ו-Simulink בענן
      • תכן מערכות SerDes
      • Deploying to Hardware
      • Machine Learning
      • Deep Learning
      • Physical Modeling
      • Parallel Computing Toolbox
      • MATLAB Report Generator
      • Symbolic Math Toolbox
      • Sensor Fusion & Tracking Toolbox
      • Speedgoat
    • פתרונות
      • MATLAB & Simulink Product Family
      • בינה מלאכותית – Artificial Intelligence
      • Certification
      • Communication Systems
      • מערכות לתעשיית ה-Medical
      • מערכות אוטונומיות ורובוטיקה
      • Electrification Renewable energy
      • ייצור קוד אוטומטי ישירות מ-MATLAB ו-Simulink
      • הטמעה לחומרה
      • Solutions by Industry
      • תכנית סטארטפים
    • מקורות למידה
      • אירועים קרובים
      • וובינרים מקוונים
      • וובינרים מוקלטים (VOD)
      • קורסים
      • סיפורי הצלחה
      • בלוג
    • תמיכה
      • נהלי התקנה ורישוי MATLAB
      • תמיכה וייעוץ
      • פתיחת קריאות שירות
    • הורדה
  • 3D Printing
    • ראשי
      • אודות תחום 3D Printing
      • קהילה
      • חנות מדפסות תלת מימד וחומרים
    • מדפסות וחומרי הדפסה
      • מדפסות תלת מימד
      • מדפסות HP Jet Fusion 3D
      • מדפסות MarkForged
      • מדפסות FORMLABS
      • פתרונות סריקה מבית PEEL 3D
      • חומרי הדפסה
      • פתרונות לתכנון 3D CAD
    • ייצור מתקדם
      • TULIP – פלטפורמה מבוססת ענן לניהול רצפת הייצור (Composable MES)
    • תעשיות
      • הנדסה, תכנון ופיתוח
      • תעשייה וייצור
      • ציוד רפואי
      • רפואת שיניים
      • אקדמיה ומחקר
      • מוסדות חינוך
      • עיצוב וייצור תכשיטים
    • מקורות למידה
      • אירועים
      • וובינרים
      • סיפורי הצלחה
      • מדריכים מקצועיים להורדה
      • קורסים
      • בלוג
    • תמיכה
      • תמיכה
      • FAQ מדפסות FORMLABS
      • פתיחת קריאות שירות
  • Contact Us
  • EN
  • About Us
    • Careers
  • Solutions
  • Industries
  • Customers
    • Customers
    • Success Stories
  • Support
  • Contact Us
  • HE
  • Menu Menu

Click to open the search input field Click to open the search input field Search | ENHE

עמוד הבית » בלוג » MATLAB With Fun

  • ALL
  • GIS Blog
  • MATLAB With Fun
  • PCB Blog
  • Smart 3D Printing
  • SOLIDBlog

שילוב קוד MATLAB בפרויקט שנכתב ב-JAVA

Hagar Chen
04/02/2020
MATLAB With Fun

שילוב של קוד MATLAB בפרויקט שנכתב ב-JAVA: רוצים לשלב פרויקט שנכתב ב-JAVA עם קוד שכתבתם ב-MATLAB? הגעתם למקום הנכון […]

שתפו את הפוסט
  • שתף בפייסבוק
  • שתף בטוויטר
  • שתף בגוגל+
  • שתף בלינקדאין
  • שתף באימייל
  • שתף בוואטסאפ

שילוב של קוד MATLAB בפרויקט שנכתב ב-JAVA:  רוצים לשלב פרויקט שנכתב ב-JAVA עם קוד שכתבתם ב-MATLAB? הגעתם למקום הנכון 😊

אחרי שתקראו את הפוסט הבא תראו שזה לגמרי אפשרי ואפילו די פשוט, אז בואו נתחיל!

(עבור סביבת NET., ניתן לפנות לפוסט "שילוב קוד MATLAB בפרויקט שנכתב ב-NET.")

תחילה, נקמפל את הקוד שכתבנו ב-MATLAB באמצעת ה-MATLAB Compiler SDK, תוך שימוש באחת מהדרכים הבאות:

  1. באמצעות האפליקציה:

ניגש אל ה- Library Compiler נבחר ב-type מסוג Java package בחלון ה- Exported function

נטען את הפונקציה הכתובה ב-MATLAB, אותה אנו מעונייים לקמפל ונמלא את הפרטים הדרושים – שם הספרייה, המחלקה והמתודה (נשתמש בפרמטרים הללו בהמשך על מנת להפעיל את הפונקציה מסביבת ה-JAVA), הסבר על השימוש באפליקציה ניתן למצוא בלינק הבא.

  1. באמצעות שורות קוד:

דוגמה לקימפול הפונקציה על ידי שורות קוד:

mcc –W 'java:calculatefft,class_fft' class{class_fft:Calcfft.m}

כאשר:

calculatefft – שם ה-Package

class_fft – שם המחלקה

Calcfft.m– שם פונקציית ה-MATLAB אותה אנו מעוניינים לקמפל

לאחר קימפול הקוד – נוצר קובץ jar. ששמו הוא כשם התוכנית שהגדרנו. זוהי הספרייה המשמשת כמעטפת לפונקציה אותה יצרנו ב-MATLAB.

אז איך MATLAB ו-JAVA מתקשרים ביניהם?

הם עושים זאת באמצעות ה"מתווך" MW class, אך לפני שנרחיב עליו – הכינותי מראש קוד שקורא לפונקצית MATLAB המבצעת חישוב FFT ומציגה אותו (אציין כי זמן הריצה של אלגוריתם ה-FFT מהיר בהרבה ב-MATLAB מאשר ב-JAVA לכן שילוב קוד MATLAB יכול להוות יתרון הן מהבחינה של האצת ביצועים והן מבחינת ניצול היכולות המופלאות של ה-MATLAB).

השחקן הראשי בסיפור הוא ה-MW class. שחקן זה מאפשר להעביר ארגומנטים מ-JAVA ל-MATLAB .

ועכשיו לקוד עצמו:

ישנם סוגים שונים של ארגומנטים שאותם MW class יודעת לתווך –  מערכים, תאים, מבנים. תחילה, על מנת להשתמש ביכולת התיווך הזאת יש להגדיר את ה- package כפי שמופיע בשורה מספר 1.

בשלב הבא נשתמש בשם הספרייה, שם המחלקה ושם המתודה שהגדרנו בשלב קימפול הקוד:

  • הספרייה שיצרנו תיכנס לסיפריות בהם נשתמש בתוכנית (ראו שורה מספר 2).
  • המחלקה שהגדרנו תשמש אותנו בקריאה לפונקצייה שיצרנו בMATLAB- והגדרת אובייקט מסוג מחלקה (ראו שורה מספר 7)
  • הקריאה לפונקציה מוגדרת בעזרת שם המחלקה שהגדרנו ושם המתודה שהגדרנו בזמן הקימפול (ראו שורה מספר 17).

ומה לגבי הגדרת משתני ה-MW?

נשים לב שהקלט שמקבלת פונקציית calcfft (שורה 17) הינו מסוג  MWNumericArray.

מאחר והטיפוס שנשלח לפונקציה יכול להישלח גם כ-double, לא היה צורך אמיתי להשתמש ב-MW זאת מהסיבה הפשוטה ש-JAVA ו-MATLAB יודעים להתממשק ביניהם כאשר מדובר בטיפוסים מסויימים (כמו double). עבור טיפוסים אחרים כמו תמונות ומערכים שונים – לוגיים, מספריים, תאים וכו' לא היינו מצליחים לגשר על הפערים בין השפות והיה צורך אמיתי להשתמש ב-MW class. לשם ההדגמה בחרתי להציג את השימוש במשנה מסוג זה.

פירוט על ה- package  השונים, אופן שימושם וה-MW המוכל בכל אחד מה-package ניתן למצוא בלינק הבא, כאשר לחיצה על כל package תציג את רשימת הארגומנטים הכלולה בתוך ה-package.

לאחר כתיבת הקוד, נותר להגדיר את הסביבה:

  • על מנת לפתח יישומי JAVA יש להוריד ערכת JDK מהקישור הבא. את גרסת ה-JDK המתאימה עבור ה-MATLAB שלכם תוכלו לבדוק על ידי הרצת הפקודה: version –java ב-command window.
  • לאחר מכן, יש להגדיר את ה- JAVA_HOME. נגדיר זאת על ידי הרצת הפקודה:

setenv('JAVA_HOME','C:\Program Files\Java\jdk1.7.0_71’);

כאשר בארגומנט השני יש לרשום את הנתיב לתיקיית ה-JDK.

  • צעד נוסף לפני ההרצה כולל הגדרת הספריות הנחוצות להפעלת הקוד בהגדרות מערכת ההפעלה.

-נגדיר את ה-javabuilder.jar (הנמצא תחת matlabroot\toolbox\javabuilder\jar)

-נגדיר את הספרייה שכתבנו ב-MATLAB (קובץ ה-jar) בהגדרות מערכת ההפעלה.

אופן ההגדרה: מקש ימני על המחשב שלי=>מאפיינים=>הגדרות מערכת מתקדמות=>משתני סביבה=>משתני מערכת=>PATH. בתוך ה-PATH נוסיף את קבצי ה-JAR הרלוונטים להרצה.

וזהו, כל מה שנותר הוא להריץ את הפקודות המתאימות לקבצים שהגדרתם ב-cmd.exe.

עבור קובץ ההדגמה שורות ההרצה הן:

javac -classpath .;C:\javabuilder.jar;C:\java_fft\calculatefft.jar fftProgram.java

java -classpath .;C:\javabuilder.jar;C:\java_fft\calculatefft.jar fftProgram

ובאופן כללי:

javac -classpath .;javabuilder.jar path;the compiled file path the name of java program

java -classpath .; javabuilder.jar path;the compiled file path the name of java program(without .java)

**הערה – יש לוודא שבנתיב בו אתם נמצאים (ב-cmd.exe) קיימת תוכנית ה-JAVA.

בהצלחה!!

אם הסתבכתם, מוזמנים לפתוח קריאת תמיכה דרך הקישור הבא

שתפו את הפוסט
  • שתף בפייסבוק
  • שתף בטוויטר
  • שתף בגוגל+
  • שתף בלינקדאין
  • שתף באימייל
  • שתף בוואטסאפ

פוסטים נוספים מאותה קטגוריה

האיצו את הקוד שלכם: כך תגרמו לאלגוריתמים שלכם לרוץ מהר יותר עם ייעוץ אישי ממומחי MATLAB

האיצו את הקוד שלכם: כך תגרמו לאלגוריתמים שלכם לרוץ מהר יותר עם ייעוץ אישי ממומחי MATLAB

MATLAB With Fun

שלי מרטינוב
25/12/2025
 MATLAB Copilot – לתכנן. לכתוב. לבדוק. מהר יותר.

 MATLAB Copilot – לתכנן. לכתוב. לבדוק. מהר יותר.

MATLAB With Fun

שלי מרטינוב
09/11/2025
מה חדש בגרסת Simulink R2025b

מה חדש בגרסת Simulink R2025b

MATLAB With Fun

שלי מרטינוב
22/10/2025
תגובות | 0 תגובות

השאירו תגובה

כתיבת תגובה לבטל

האימייל לא יוצג באתר. שדות החובה מסומנים *

הרשמו לקבלת עדכונים

MATLAB With Fun
שדה חובה

ההרשמה בוצעה בהצלחה. בדוק בתיבת הדואר שלך, הודעה המכילה קישור לאישור ההרשמה ואשר את הרשמתך.

רוצים ללמוד עוד? כיתבו לנו

כיתבו לנו


    social-media-youtubesocial-media-linkedin

    קהילה

    • קהילת סיסטמטיקס
    • SOLIDWORKS Blog
    • PCB Blog
    • MATLAB with Fun Blog
    • GIS Blog
    • Smart 3D Printing Blog
    • ESRI Israel FB
    • SOLIDWORKS Israel FB
    • MATLAB and Simulink LI
    • MATLAB and Simulink FB

    צור קשר

    • בקשת יצירת קשר
    • בקשת קשר טלפוני

    רכישה

    • בקשת הצעת מחיר
    • מכירות ESRI
    • מכירות SOLIDWORKS
    • מכירות ALTIUM
    • מכירות CATIA
    • מכירות ENOVIA
    • מכירות MATLAB & Simulink
    • מכירת מדפסות תלת מימד

    קורסים

    • קורסים GIS
    • קורסים SOLIDWORKS
    • קורסים MATLAB & Simulink
    • קורסים CATIA
    • קורסים ALTIUM
    • יצירת קשר מרכז ההדרכה

    תמיכה

    • מדיניות תמיכה
    • שירותי ייעוץ
    • פתיחת קריאות שירות

    פתרונות ומוצרים

    • תחום GIS
    • תחום 3D CAD/PLM
    • SOLIDWORKS
    • ALTIUM PCB
    • CATIA
    • ENOVIA
    • MATLAB & Simulink
    • תחום 3D Printing
    • 3D EXPERIENCE
    • תעשיות
    • אקדמיה
    • Start Ups

    אודות סיסטמטיקס

    • מי אנחנו?
    • תעודות הסמכת ISO
    • אירועים
    • דרכי גישה ומפה
    • יצירת קשר
    • מדיניות הפרטיות של אתר סיסטמטיקס – Privacy-Policy

    לקוחות

    • לקוחות סיסטמטיקס
    • סיפורי לקוח SOLIDWORKS
    • סיפורי לקוח MathWorks
    • סיפורי הצלחה GIS
    © 2026 All rights reserved SYSTEMATICS Ltd. | Privacy Policy
    • הישארו מעודכנים
    • כיתבו לנו
    Scroll to top