ch
Feedback
Control Engineering

Control Engineering

前往频道在 Telegram

جهت ارتباط با ادمین‌ها، به گروه کانال مراجعه کنین. https://t.me/+k1OZ6I6uW5YzY2I8

显示更多
2 310
订阅者
+224 小时
+67 天
+1630 天
帖子存档
C-Programming-For-Embedded-Applications.zip198.51 MB

photo content

Repost from C++
فایل 📁 دوره

Repost from C++
دوره 🎥 : C Programming For Embedded Applications وبسایت 🌐 : Lynda مدرس 👨‍🏫 : Eduardo Corpeño قیمت 💰 دوره : 29.99$ 💎 این
دوره 🎥 : C Programming For Embedded Applications وبسایت 🌐 : Lynda مدرس 👨‍🏫 : Eduardo Corpeño قیمت 💰 دوره : 29.99$ 💎 این دوره شامل زیرنویس فارسی 🇮🇷 هست ‼️ ➖➖➖➖➖➖➖➖ پسورد 🔑 : $$$@#$$#$$#$&&&$#%&&@Dr.Linux&%&#&#%&%0xffff$$$&#@%0% ✔️ @cppFarsi

خوش باشید :)

خوب دیگه #chatgpt بسه، کاپیتان صحبت میکنه! حالا اگر بخواییم یک فایل json رو با متلب بخونیم، میتونه محتوای json بصورت استرینگ ذخیره شده باشه، که اون موقع باید parse بشه و بعد jsondecode بشه! یک تابع به صورت زیر در متلب کار مارو راه میندازه.
% Create a containers.Map object
myMap = containers.Map;
myMap('name') = 'John';
myMap('age') = 30;
myMap('city') = 'New York';

% Specify the filename to save to
fileName = 'output.json';

% Save the map to the JSON file
saveMapToJson(myMap, fileName);

disp(['Map saved to ' fileName]);

function saveMapToJson(map, fileName)
    % Check if the input is a containers.Map
    if ~isa(map, 'containers.Map')
        error('Input must be a containers.Map object.');
    end

    % Convert the containers.Map to a struct
    mapStruct = struct(map);

    % Convert the struct to a JSON string
    jsonString = jsonencode(mapStruct);

    % Write the JSON string to the specified file
    try
        fid = fopen(fileName, 'w');
        if fid == -1
            error('Could not open the file for writing.');
        end
        fwrite(fid, jsonString, 'char');
        fclose(fid);
    catch
        error('Error writing JSON data to the file.');
    end
end
یا هم میتونه در یک فایل ذخیره شده باشه که اون هم باید اول از فایل بصورت خام خونده بشه و بعد parse و decode بشه. یک تابع بصورت polymorphic در #متلب به این صورت میتونیم بنویسیم که چه داده تو فایل باشه و چه رشته باشه، بشه خوندش!
jsonData = '{"name": "John", "age": 30, "city": "New York"}';
myMap = jsonToMap(jsonData);

% Access values in the map
name = myMap('name');
age = myMap('age');
city = myMap('city');

disp(['Name: ' name]);
disp(['Age: ' num2str(age)]);
disp(['City: ' city]);



function map = jsonToMap(jsonData)
    % Parse the JSON data
    parsedData = jsondecode(jsonData);

    % Check if the parsed data is a struct
    if ~isstruct(parsedData)
        error('Input JSON data does not represent a JSON object.');
    end

    % Convert the struct to a containers.Map
    map = containers.Map;

    % Loop through the fields of the struct and add them to the map
    fields = fieldnames(parsedData);
    for i = 1:numel(fields)
        fieldName = fields{i};
        fieldValue = parsedData.(fieldName);
        map(fieldName) = fieldValue;
    end
end
در نهایت اگر بخواییم containers.Map رو بصورت json ذخیره کنیم، به این صورت میتونیم این کار رو بکنیم! با یک مثال به تابع زیر دقت کنین.
% Example 1: Passing JSON data as a string
jsonData = '{"name": "John", "age": 30, "city": "New York"}';
myMap = jsonToMap(jsonData);

% Example 2: Passing a file name
fileName = 'data.json'; % Assuming you have a JSON file named 'data.json'
myMapFromFile = jsonToMap(fileName);

% Access values in the maps
name = myMap('name');
age = myMap('age');
city = myMap('city');

disp(['Name: ' name]);
disp(['Age: ' num2str(age)]);
disp(['City: ' city]);

% Access values in the map from file
nameFromFile = myMapFromFile('name');
ageFromFile = myMapFromFile('age');
cityFromFile = myMapFromFile('city');

disp(['Name from file: ' nameFromFile]);
disp(['Age from file: ' num2str(ageFromFile)]);
disp(['City from file: ' cityFromFile]);

function map = jsonToMap(inputData)
    % Check if the input is a file name
    if ischar(inputData) && exist(inputData, 'file') == 2
        % Read JSON data from the file
        jsonData = fileread(inputData);
    elseif ischar(inputData)
        % Use the input data as JSON string
        jsonData = inputData;
    else
        error('Input must be a file name or a JSON string.');
    end

    % Parse the JSON data
    parsedData = jsondecode(jsonData);

    % Check if the parsed data is a struct
    if ~isstruct(parsedData)
        error('Input JSON data does not represent a JSON object.');
    end

    % Convert the struct to a containers.Map
    map = containers.Map;

    % Loop through the fields of the struct and add them to the map
    fields = fieldnames(parsedData);
    for i = 1:numel(fields)
        fieldName = fields{i};
        fieldValue = parsedData.(fieldName);
        map(fieldName) = fieldValue;
    end
end

فایل JSON (JavaScript Object Notation) یک فرمت سبک برای تبادل داده است که برای انسان‌ها آسان برای خواندن و نوشتن و برای ماشین‌ها آسان برای تجزیه و تولید است. معمولاً از JSON برای انتقال داده بین یک سرور و یک برنامه وب استفاده می‌شود، همچنین برای فایل‌های پیکربندی و ذخیره‌سازی داده نیز مورد استفاده قرار می‌گیرد. فایل‌های JSON شامل جفت‌های کلید-مقدار هستند، که در آن هر کلید یک رشته درون علامت‌های نقل قول دوتایی است و پس از آن دو نقطه و مقدار مرتبط می‌آید. مقدار مرتبط می‌تواند یک رشته، عدد، بولی، شیء، آرایه یا مقدار تهی (null) باشد. در زیر یک مثال ابتدایی از یک شیء JSON آمده است:
json
{
  "name": "John Doe",
  "age": 30,
  "isStudent": false,
  "hobbies": ["reading", "coding", "swimming"]
}
در این مثال، شیء JSON دارای چهار جفت کلید-مقدار است: - "name" با مقدار "John Doe" - "age" با مقدار 30 - "isStudent" با مقدار false - "hobbies" با یک آرایه به عنوان مقدار JSON به عنوان یک فرمت داده در توسعه وب به طور گسترده مورد استفاده قرار می‌گیرد، زیرا توسط بسیاری از زبان‌های برنامه‌نویسی پشتیبانی می‌شود و به آسانی می‌توان آن را به ساختارهای داده اصلی در این زبان‌ها تبدیل کرد. به عنوان مثال معمولاً در رابط‌های برنامه‌نویسی (API) برای تبادل داده بین مشتری و سرور استفاده می‌شود و همچنین برای فایل‌های پیکربندی در برنامه‌های مختلف نیز استفاده می‌شود.

در #متلب، containers.Map یک ویژگی مفید است که به کاربران اجازه می‌دهد تا داده‌ها را به صورت جفت‌های "کلید-مقدار" ذخیره کنند. این کلاس به شما این امکان را می‌دهد که به سادگی بر اساس یک کلید، به مقدار متناظر آن دسترسی پیدا کنید. مثال‌ها مثال 1: ایجاد یک containers.Map
matlab
ایجاد یک دیکشنری با نام 'myDictionary'
myDictionary = containers.Map;

افزودن عناصر به دیکشنری
myDictionary('key1') = 'value1';
myDictionary('key2') = 'value2';
مثال 2: دسترسی به مقدار با استفاده از کلید
matlab
دسترسی به مقدار مرتبط با کلید 'کلید1'
value = myDictionary('key1');
disp(['Value correspoding to key1: ', value]);
مثال 3: بررسی وجود یک کلید در دیکشنری
matlab
بررسی وجود کلید 'key3' در دیکشنری
if isKey(myDictionary, 'key3')
    disp('key3 is there!');
else
    disp('key3 simply doesnt exist!');
end
روش‌های مفید برای کار با containers.Map #### isKey این تابع بررسی می‌کند که آیا یک کلید مشخص در دیکشنری وجود دارد یا خیر. #### keys و values این دو تابع به ترتیب لیست کلیدها و مقادیر موجود در دیکشنری را بازگردانی می‌کنند. #### remove این تابع به شما اجازه می‌دهد تا یک عنصر را از دیکشنری حذف کنید.

دیکشنری در پایتون یک داده‌ساختار اصلی است که برای ذخیره اطلاعات به صورت جفت‌های کلید-مقدار استفاده می‌شود. هر کلید یکتا و بایدناپذیر است و به هر مقدار متناظر با آن دسترسی دارید. دیکشنری‌ها می‌توانند به عنوان یک مجموعه از جفت‌های کلید-مقدار دیده شوند و برای ذخیره و بازیابی داده‌ها بسیار مفیدند. در ادامه، نمونه‌ها و متدهایی برای کار با دیکشنری‌ها در پایتون را معرفی می‌کنم. مثال‌هایی از دیکشنری‌ها در پایتون: مثال 1: ساخت یک دیکشنری
python
person = {
    "name": "ali",
    "age": 30,
    "city": "Tehran"
}
مثال 2: دسترسی به مقدار با استفاده از کلید
python
name = person["name"]
print(f"name: {name}")
مثال 3: اضافه کردن یک مورد جدید به دیکشنری
python
person["job"] = "software guy"
مثال 4: تغییر مقدار موجود
python
person["age"] = 31
مثال 5: حذف یک مورد از دیکشنری
python
del person["city"]
مثال 6: بررسی وجود کلید در دیکشنری
python
if "شغل" in person:
    print("job: " + person["job"])
else:
    print("job unidentified!")
مثال 7: دریافت تعداد کل اعضا در دیکشنری
python
num_items = len(person)
print(f"number of items in the dict: {num_items}")
مثال 8: دریافت لیست از کلیدها و مقادیر
python
keys = person.keys()
values = person.values()

print("keys: " + ", ".join(keys))
print("values: " + ", ".join(map(str, values)))
مثال 9: حلقه زدن روی مقادیر دیکشنری
python
for key, value in person.items():
    print(f"{key}: {value}")
دیکشنری‌ها یکی از داده‌ساختارهای پرکاربرد در پایتون هستند و می‌توانند در موارد مختلفی مانند مدیریت داده‌ها، تنظیمات، وب سرویس‌ها و بسیاری از برنامه‌های دیگر مورد استفاده قرار گیرند. از متدهایی مانند keys(), values(), و items() برای دسترسی به کلیدها، مقادیر، و جفت‌های کلید-مقدار استفاده می‌شود. همچنین می‌توان با استفاده از دستورات del`، `in و len دیکشنری را مدیریت کرد.

بچه ها، کسایی که علوم داده کار میکنن، چند تا پست در مورد این عناوین میزارم این پایین. مفیده بخونین و کمکتون میکنه در پروژه هاتون. ۱. دیکشنری در پایتون ۲. معادل دیکشنری در متلب که containers.Map هست ۳. فایل json ۴. تبدیل json به containers.Map که بتونیم تو متلب هم باهاش کار کنیم ۵. تبدیل containers.Map به json که بتونیم دوباره تو فایل ذخیرش کنیم توضیحات رو ChatGPT نوشته ولی من چک کردم و درستن. نگران نباشین و استفاده کنین :)

⏱ Reduce time to market and empower software engineers by simulating machine operations and validating software functions before physical production, enhancing collaboration between mechanical and electrical engineers, and reducing lead time. ⏭ Simulating machine operations to reduce time to market and enable software development. 🤝 Enhancing collaboration between mechanical and electrical engineers. 🕒 Achieving significant progress, including training, in less than a couple of weeks. 📈 Leveraging digital twins for in-house changes and customer validation.

کنترل مدل سه بعدی طراحی شده در نرم افزار NX MCD (Mechatronics Concept Designer) با PLC مجازی و حتی نرم افزار Matlab

Virtual Commissioning with NX MCD and PLCSim Advanced Virtual commissioning with a digital twin is revolutionizing how Machine Builders are bringing their products to market. It allows for a 3D CAD model of a machine to be animated to emulate the real behavior of the machine, where the animations are controlled by a virtual PLC. This video explains the main benefits of virtual commissioning with NX MCD and PLCSim Advanced. @ControlEngineering98

اگر دوست داشتین نتایجتون رو زیر این پست با ماهم به اشتراک بزارین متشکر❤️

با آرزوی موفقیت برای تک تک دوستان در تمام مراحل زندگی❤️

Repost from Directapply
📢اعلام پوزیشن در مقطع #دکتری 📆 ددلاین : October 21, 2023 📚رشته: 🔰#electrical_engineering 🔰#physics 🔰#mechanical_engineering 🔧زمینه : 🔰In this project, you will work on cutting-edge multiparameter flow sensing systems. Applying deep symbolic AI to microfluidic sensor data will fundamentally improve the design and use of these systems in real-life applications. 🏫دانشگاه: University of Twente 🌎کشور: #هلند 🇳🇱 👈جزئیات کامل و نحوه اقدام ................................. 🆔@directapply 🆔@directapply