Month: July 2024
inputParser not supported by MATLAB Coder
I started to get into the habit of using inputParser to manage construction options to MATLAB classes I create. It just seems like the cleanest, most future-proof way to go about doing it. Now, I just hit a very annoying brick wall. I wanted to run one of these through MATLAB Coder to make a C++ version to at least serve as a template for a bit of production code. BOOM! MATLAB Coder doesn’t like functions/classes that use inputParser. Is there anyone who’s found a good workaround?I started to get into the habit of using inputParser to manage construction options to MATLAB classes I create. It just seems like the cleanest, most future-proof way to go about doing it. Now, I just hit a very annoying brick wall. I wanted to run one of these through MATLAB Coder to make a C++ version to at least serve as a template for a bit of production code. BOOM! MATLAB Coder doesn’t like functions/classes that use inputParser. Is there anyone who’s found a good workaround? I started to get into the habit of using inputParser to manage construction options to MATLAB classes I create. It just seems like the cleanest, most future-proof way to go about doing it. Now, I just hit a very annoying brick wall. I wanted to run one of these through MATLAB Coder to make a C++ version to at least serve as a template for a bit of production code. BOOM! MATLAB Coder doesn’t like functions/classes that use inputParser. Is there anyone who’s found a good workaround? inputparser MATLAB Answers — New Questions
I am trying to find the difference in two columns on my csv file to plot them and my current code isnt working.
I have a code that intakes all of my participants per there csv file and outputs there data by the objects they have seen however I cannot code the difference between the known midpoint of the object versus what they have answered. Am I overlooking something? I did change some of the info to keep more discreet sorry. Thank you to anyone who helps!
% Select CSV file and read data
[filename, path] = uigetfile(‘*.csv’, ‘Select The CSV to View Subject Data’);
myCSV = readtable(fullfile(path, filename));
% Define the column indices for KeyPressCount and ResponseTime
Midpoint = 60;
Final_Answered_Midpoint = 76;
%Assigning condition names by category {row, column}
ConditionNames{1,1} = ‘1’;
ConditionNames{2,1} = ‘2’;
ConditionNames{3,1} = ‘3’;
ConditionNames{4,1} = ‘4’;
ConditionNames{5,1} = ‘5’;
ConditionNames{6,1} = ‘6’;
ConditionNames{7,1} = ‘7’;
ConditionNames{8,1} = ‘8’;
ConditionNames{9,1} = ‘9’;
ConditionNames{10,1} = ’10’;
ConditionNames{11,1} = ’11’;
ConditionNames{12,1} = ’12’;
NbrCond = size(ConditionNames,1);
%Difference between midpoint and final slider position that was answered
difference = myCSV{:,76} – myCSV{:,60};
%Creating a loop that through each of the Categories (ConditionNames) in column 1 of myCSV and
%reports the row indices every time each category is found
for condi = 1:NbrCond
ConditionIndex(condi).RowIndices = [];
Indices = strfind(table2array(myCSV(:,1)), ConditionNames{condi,1}); %Strfind the current (condi) condition in the array
counter = 0;
for j = 1:size(Indices,1)
if ~isempty(Indices{j,1})
counter = counter + 1;
ConditionIndex(condi).RowIndices(counter) = j;
end
end
end
%Loops over each category (ConditionNames) in CSV to find data (ex:
%KeyPressCount) and stores it in AllData
for condi = 1:NbrCond
ConditionInstances = size(ConditionIndex(condi).RowIndices,2);
counter = 0;
for Condi_instance_i = 1:ConditionInstances
CurrentRowIndex = ConditionIndex(condi).RowIndices(Condi_instance_i);
counter = counter + 1;
%AllData(condi).Category(counter,1) = final_slider_position_pix-Midpoint;
AllData(condi).Category(counter,1) = myCSV{CurrentRowIndex, difference};
end
end
% Calculating Averages, Standard Deviations, and Standard Errors and
% storing them in AllData by Category (Row)
for condi = 1:NbrCond
AllData(condi).Mean = mean(AllData(condi).Category);
AllData(condi).StdDev = std(AllData(condi).Category);
AllData(condi).StdErr = AllData(condi).StdDev / sqrt(size(AllData(condi).Category, 1));
end
CategoryAvgs = cellfun(@(x) mean(x), {AllData(:).Category});
CategoryStdDevs = cellfun(@(x) std(x), {AllData(:).Category});
CategoryStdErrs = CategoryStdDevs ./ sqrt(cellfun(@numel, {AllData(:).Category}));
%Creating variable to store all of the means and standarderrors for
%plotting purposes
Means = [AllData.Mean];
StdErrs = [AllData.StdErr];
%Creating a figure to summarize results
figure;
bar([AllData.Mean]);
hold on;
errorbar(1:NbrCond, CategoryAvgs, CategoryStdErrs, ‘.k’);
ylim([-10 25])
xlabel(‘Tools’);
ylabel(‘Difference’);
% Set x-axis labels (goes in order of AllData.Mean)
xticklabels({‘1’, ‘2’, ‘3’, ‘4’, …
‘5’, ‘6’, ‘7’, ‘8’, …
‘9’, ’10’, ’11’, ’12’});
xtickangle(45)
hold off;I have a code that intakes all of my participants per there csv file and outputs there data by the objects they have seen however I cannot code the difference between the known midpoint of the object versus what they have answered. Am I overlooking something? I did change some of the info to keep more discreet sorry. Thank you to anyone who helps!
% Select CSV file and read data
[filename, path] = uigetfile(‘*.csv’, ‘Select The CSV to View Subject Data’);
myCSV = readtable(fullfile(path, filename));
% Define the column indices for KeyPressCount and ResponseTime
Midpoint = 60;
Final_Answered_Midpoint = 76;
%Assigning condition names by category {row, column}
ConditionNames{1,1} = ‘1’;
ConditionNames{2,1} = ‘2’;
ConditionNames{3,1} = ‘3’;
ConditionNames{4,1} = ‘4’;
ConditionNames{5,1} = ‘5’;
ConditionNames{6,1} = ‘6’;
ConditionNames{7,1} = ‘7’;
ConditionNames{8,1} = ‘8’;
ConditionNames{9,1} = ‘9’;
ConditionNames{10,1} = ’10’;
ConditionNames{11,1} = ’11’;
ConditionNames{12,1} = ’12’;
NbrCond = size(ConditionNames,1);
%Difference between midpoint and final slider position that was answered
difference = myCSV{:,76} – myCSV{:,60};
%Creating a loop that through each of the Categories (ConditionNames) in column 1 of myCSV and
%reports the row indices every time each category is found
for condi = 1:NbrCond
ConditionIndex(condi).RowIndices = [];
Indices = strfind(table2array(myCSV(:,1)), ConditionNames{condi,1}); %Strfind the current (condi) condition in the array
counter = 0;
for j = 1:size(Indices,1)
if ~isempty(Indices{j,1})
counter = counter + 1;
ConditionIndex(condi).RowIndices(counter) = j;
end
end
end
%Loops over each category (ConditionNames) in CSV to find data (ex:
%KeyPressCount) and stores it in AllData
for condi = 1:NbrCond
ConditionInstances = size(ConditionIndex(condi).RowIndices,2);
counter = 0;
for Condi_instance_i = 1:ConditionInstances
CurrentRowIndex = ConditionIndex(condi).RowIndices(Condi_instance_i);
counter = counter + 1;
%AllData(condi).Category(counter,1) = final_slider_position_pix-Midpoint;
AllData(condi).Category(counter,1) = myCSV{CurrentRowIndex, difference};
end
end
% Calculating Averages, Standard Deviations, and Standard Errors and
% storing them in AllData by Category (Row)
for condi = 1:NbrCond
AllData(condi).Mean = mean(AllData(condi).Category);
AllData(condi).StdDev = std(AllData(condi).Category);
AllData(condi).StdErr = AllData(condi).StdDev / sqrt(size(AllData(condi).Category, 1));
end
CategoryAvgs = cellfun(@(x) mean(x), {AllData(:).Category});
CategoryStdDevs = cellfun(@(x) std(x), {AllData(:).Category});
CategoryStdErrs = CategoryStdDevs ./ sqrt(cellfun(@numel, {AllData(:).Category}));
%Creating variable to store all of the means and standarderrors for
%plotting purposes
Means = [AllData.Mean];
StdErrs = [AllData.StdErr];
%Creating a figure to summarize results
figure;
bar([AllData.Mean]);
hold on;
errorbar(1:NbrCond, CategoryAvgs, CategoryStdErrs, ‘.k’);
ylim([-10 25])
xlabel(‘Tools’);
ylabel(‘Difference’);
% Set x-axis labels (goes in order of AllData.Mean)
xticklabels({‘1’, ‘2’, ‘3’, ‘4’, …
‘5’, ‘6’, ‘7’, ‘8’, …
‘9’, ’10’, ’11’, ’12’});
xtickangle(45)
hold off; I have a code that intakes all of my participants per there csv file and outputs there data by the objects they have seen however I cannot code the difference between the known midpoint of the object versus what they have answered. Am I overlooking something? I did change some of the info to keep more discreet sorry. Thank you to anyone who helps!
% Select CSV file and read data
[filename, path] = uigetfile(‘*.csv’, ‘Select The CSV to View Subject Data’);
myCSV = readtable(fullfile(path, filename));
% Define the column indices for KeyPressCount and ResponseTime
Midpoint = 60;
Final_Answered_Midpoint = 76;
%Assigning condition names by category {row, column}
ConditionNames{1,1} = ‘1’;
ConditionNames{2,1} = ‘2’;
ConditionNames{3,1} = ‘3’;
ConditionNames{4,1} = ‘4’;
ConditionNames{5,1} = ‘5’;
ConditionNames{6,1} = ‘6’;
ConditionNames{7,1} = ‘7’;
ConditionNames{8,1} = ‘8’;
ConditionNames{9,1} = ‘9’;
ConditionNames{10,1} = ’10’;
ConditionNames{11,1} = ’11’;
ConditionNames{12,1} = ’12’;
NbrCond = size(ConditionNames,1);
%Difference between midpoint and final slider position that was answered
difference = myCSV{:,76} – myCSV{:,60};
%Creating a loop that through each of the Categories (ConditionNames) in column 1 of myCSV and
%reports the row indices every time each category is found
for condi = 1:NbrCond
ConditionIndex(condi).RowIndices = [];
Indices = strfind(table2array(myCSV(:,1)), ConditionNames{condi,1}); %Strfind the current (condi) condition in the array
counter = 0;
for j = 1:size(Indices,1)
if ~isempty(Indices{j,1})
counter = counter + 1;
ConditionIndex(condi).RowIndices(counter) = j;
end
end
end
%Loops over each category (ConditionNames) in CSV to find data (ex:
%KeyPressCount) and stores it in AllData
for condi = 1:NbrCond
ConditionInstances = size(ConditionIndex(condi).RowIndices,2);
counter = 0;
for Condi_instance_i = 1:ConditionInstances
CurrentRowIndex = ConditionIndex(condi).RowIndices(Condi_instance_i);
counter = counter + 1;
%AllData(condi).Category(counter,1) = final_slider_position_pix-Midpoint;
AllData(condi).Category(counter,1) = myCSV{CurrentRowIndex, difference};
end
end
% Calculating Averages, Standard Deviations, and Standard Errors and
% storing them in AllData by Category (Row)
for condi = 1:NbrCond
AllData(condi).Mean = mean(AllData(condi).Category);
AllData(condi).StdDev = std(AllData(condi).Category);
AllData(condi).StdErr = AllData(condi).StdDev / sqrt(size(AllData(condi).Category, 1));
end
CategoryAvgs = cellfun(@(x) mean(x), {AllData(:).Category});
CategoryStdDevs = cellfun(@(x) std(x), {AllData(:).Category});
CategoryStdErrs = CategoryStdDevs ./ sqrt(cellfun(@numel, {AllData(:).Category}));
%Creating variable to store all of the means and standarderrors for
%plotting purposes
Means = [AllData.Mean];
StdErrs = [AllData.StdErr];
%Creating a figure to summarize results
figure;
bar([AllData.Mean]);
hold on;
errorbar(1:NbrCond, CategoryAvgs, CategoryStdErrs, ‘.k’);
ylim([-10 25])
xlabel(‘Tools’);
ylabel(‘Difference’);
% Set x-axis labels (goes in order of AllData.Mean)
xticklabels({‘1’, ‘2’, ‘3’, ‘4’, …
‘5’, ‘6’, ‘7’, ‘8’, …
‘9’, ’10’, ’11’, ’12’});
xtickangle(45)
hold off; difference MATLAB Answers — New Questions
Hᴏᴡ Dᴏ I Cʀᴇᴀᴛᴇ ᴀɴᴅ Sᴇɴᴅ ᴀɴ Aᴄᴄᴏᴜɴᴛᴀɴᴛ’s Cᴏᴘʏ ɪɴ Qᴜɪᴄᴋ_B000ᴋs﹖
To create and send an Accountant’s Copy in Qᴜɪᴄᴋ_B000ᴋs, follow these steps:
Open Qᴜɪᴄᴋ_B000ᴋs: Go to the “File” menu.Select Accountant’s Copy: Choose “Send Company File” then “Accountant’s Copy.”Set Dividing Date: Choose a dividing date and click “Next.”Send via Accountant’s Copy File Transfer (ACFT): Follow the prompts to enter your accountant’s email address and send the file directly.Alternatively, Save Locally: Save the file locally and send it via email or other means.
For further assistance, consult Qᴜɪᴄᴋ_B000ᴋs support.
To create and send an Accountant’s Copy in Qᴜɪᴄᴋ_B000ᴋs, follow these steps:Open Qᴜɪᴄᴋ_B000ᴋs: Go to the “File” menu.Select Accountant’s Copy: Choose “Send Company File” then “Accountant’s Copy.”Set Dividing Date: Choose a dividing date and click “Next.”Send via Accountant’s Copy File Transfer (ACFT): Follow the prompts to enter your accountant’s email address and send the file directly.Alternatively, Save Locally: Save the file locally and send it via email or other means.For further assistance, consult Qᴜɪᴄᴋ_B000ᴋs support. Read More
How to prevent video from being cropped in a Teams recording?
Recently we recorded a video of a meeting. The meeting was hybrid where 4 of the main presenters were seated in the front of the room. We positioned the camera to have all 4 presenters in view. The output was correctly displayed in the room and on a separate laptop (all 4 presenters could be seen at all times). Upon reviewing the recording, only 1.5 of the presenters were visible, even when one of the other presenters was speaking.
It seems that the “Fill frame” feature enabled itself for the recording, despite the person who recorded the meeting verifying that the “Fit to frame” option was selected on his device before recording.
Is there a way to prevent videos from being automatically cropped in recordings?
Recently we recorded a video of a meeting. The meeting was hybrid where 4 of the main presenters were seated in the front of the room. We positioned the camera to have all 4 presenters in view. The output was correctly displayed in the room and on a separate laptop (all 4 presenters could be seen at all times). Upon reviewing the recording, only 1.5 of the presenters were visible, even when one of the other presenters was speaking. It seems that the “Fill frame” feature enabled itself for the recording, despite the person who recorded the meeting verifying that the “Fit to frame” option was selected on his device before recording. Is there a way to prevent videos from being automatically cropped in recordings? Read More
How to Restore a QᴜɪᴄᴋBᴏᴏᴋs Portable Company File: Step-by-Step Guide
Restoring a QᴜɪᴄᴋBᴏᴏᴋs portable company file is a streamlined process that ensures your data is efficiently imported into QᴜɪᴄᴋBᴏᴏᴋs Desktop. Begin by launching QᴜɪᴄᴋBᴏᴏᴋs and selecting “File” from the menu. Next, choose “Open or Restore Company” and opt for “Restore a portable file (.QBM).” Locate the .QBM file on your computer that you wish to restore and click “Open.” QᴜɪᴄᴋBᴏᴏᴋs will prompt you to select a destination folder for the restored company file; choose an appropriate location and click “Save.” Follow any additional on-screen instructions to finalize the restoration process. Once completed, your QᴜɪᴄᴋBᴏᴏᴋs portable company file will be restored, allowing you to resume working with your financial data seamlessly. This method is ideal for transferring files between different QᴜɪᴄᴋBᴏᴏᴋs installations or for creating backups that can be easily transported or shared.
Restoring a QᴜɪᴄᴋBᴏᴏᴋs portable company file is a streamlined process that ensures your data is efficiently imported into QᴜɪᴄᴋBᴏᴏᴋs Desktop. Begin by launching QᴜɪᴄᴋBᴏᴏᴋs and selecting “File” from the menu. Next, choose “Open or Restore Company” and opt for “Restore a portable file (.QBM).” Locate the .QBM file on your computer that you wish to restore and click “Open.” QᴜɪᴄᴋBᴏᴏᴋs will prompt you to select a destination folder for the restored company file; choose an appropriate location and click “Save.” Follow any additional on-screen instructions to finalize the restoration process. Once completed, your QᴜɪᴄᴋBᴏᴏᴋs portable company file will be restored, allowing you to resume working with your financial data seamlessly. This method is ideal for transferring files between different QᴜɪᴄᴋBᴏᴏᴋs installations or for creating backups that can be easily transported or shared. Read More
Why Am I Unable to Create an Accountant’s Copy in QuiCk- B00ks?
If you’re unable to create an Accountant’s Copy in QuiCk- B00ks, try the following solutions:
Update QuiCk- B00ks: Ensure you have the latest QuiCk- B00ks updates installed.Check File Name: Ensure the company file name doesn’t have special characters.Verify File Size: Large files can cause issues. Try reducing the file size.Disable Hosting: Go to “File” > “Utilities” and ensure hosting is off.Check Network Settings: Ensure network settings allow QuiCk- B00ks communication.Run File Doctor: Use QuiCk- B00ks File Doctor to repair any file issues.
For additional support, contact QuiCk- B00ks support.
If you’re unable to create an Accountant’s Copy in QuiCk- B00ks, try the following solutions:Update QuiCk- B00ks: Ensure you have the latest QuiCk- B00ks updates installed.Check File Name: Ensure the company file name doesn’t have special characters.Verify File Size: Large files can cause issues. Try reducing the file size.Disable Hosting: Go to “File” > “Utilities” and ensure hosting is off.Check Network Settings: Ensure network settings allow QuiCk- B00ks communication.Run File Doctor: Use QuiCk- B00ks File Doctor to repair any file issues.For additional support, contact QuiCk- B00ks support. Read More
How do I update QᴜɪᴄᴋBᴏᴏᴋs Desktop?
To update QᴜɪᴄᴋBᴏᴏᴋs Desktop, follow these steps:
Automatic Updates:
Open QᴜɪᴄᴋBᴏᴏᴋs Desktop.Go to “Help” > “Update QᴜɪᴄᴋBᴏᴏᴋs Desktop.”Click “Update Now” and select “Get Updates.”Restart QᴜɪᴄᴋBᴏᴏᴋs when the update completes, and click “Install Now” if prompted.
Manual Updates:
Visit the QᴜɪᴄᴋBᴏᴏᴋs Downloads & Updates page.Select your QᴜɪᴄᴋBᴏᴏᴋs product and version, then click “Search.”Download the update file and run it to install the latest updates.
Verify Updates:
After updating, open QᴜɪᴄᴋBᴏᴏᴋs, go to “Help” > “Update QᴜɪᴄᴋBᴏᴏᴋs Desktop,” and check the “Overview” tab to confirm that the latest version is installed.
Keeping QᴜɪᴄᴋBᴏᴏᴋs Desktop updated ensures you have the latest features and security enhancements.
To update QᴜɪᴄᴋBᴏᴏᴋs Desktop, follow these steps:Automatic Updates:Open QᴜɪᴄᴋBᴏᴏᴋs Desktop.Go to “Help” > “Update QᴜɪᴄᴋBᴏᴏᴋs Desktop.”Click “Update Now” and select “Get Updates.”Restart QᴜɪᴄᴋBᴏᴏᴋs when the update completes, and click “Install Now” if prompted.Manual Updates:Visit the QᴜɪᴄᴋBᴏᴏᴋs Downloads & Updates page.Select your QᴜɪᴄᴋBᴏᴏᴋs product and version, then click “Search.”Download the update file and run it to install the latest updates.Verify Updates:After updating, open QᴜɪᴄᴋBᴏᴏᴋs, go to “Help” > “Update QᴜɪᴄᴋBᴏᴏᴋs Desktop,” and check the “Overview” tab to confirm that the latest version is installed.Keeping QᴜɪᴄᴋBᴏᴏᴋs Desktop updated ensures you have the latest features and security enhancements. Read More
Auto-populate row completion?
Hi there,
I have a SharePoint list where the columns are Create Date, Request #, and 5 employee names. Each employee goes into the list and marks if he or she has completed the request, or not.
What I Want: I want to add a column titled “Status” where it will automatically fill in the words “Selections Complete” when all 5 employees have made a selection. If possible, also send an email to a recipient of my choice. It doesn’t matter if they choose Complete or Not – all that matters is that they have made a selection of Complete or No.
Is this possible? I understand the list I made is a little bit unorthodox with each employee being a column.
Thanks.
Hi there, I have a SharePoint list where the columns are Create Date, Request #, and 5 employee names. Each employee goes into the list and marks if he or she has completed the request, or not. What I Want: I want to add a column titled “Status” where it will automatically fill in the words “Selections Complete” when all 5 employees have made a selection. If possible, also send an email to a recipient of my choice. It doesn’t matter if they choose Complete or Not – all that matters is that they have made a selection of Complete or No. Is this possible? I understand the list I made is a little bit unorthodox with each employee being a column. Thanks. Read More
How do I fix QᴜɪᴄᴋBᴏᴏᴋs Error Code 102?
QᴜɪᴄᴋBᴏᴏᴋs Error Code 102 indicates an issue with online banking, often due to server problems or maintenance at your bank’s end. To fix it, follow these steps:
Check Bank Website:
Log in to your bank’s website to ensure there are no alerts or maintenance notifications.Verify you can access your account without issues.
Update QᴜɪᴄᴋBᴏᴏᴋs:
In QᴜɪᴄᴋBᴏᴏᴋs Online, go to the “Banking” tab.Click “Update” to refresh your bank connection.
Wait and Retry:
If the bank is undergoing maintenance, wait a few hours and try updating again.
Verify Account Info:
Ensure your bank account information and login credentials in QᴜɪᴄᴋBᴏᴏᴋs are accurate and up-to-date.
Contact Support:
If the issue persists, contact QᴜɪᴄᴋBᴏᴏᴋs support or your bank to check for ongoing issues and get further assistance.
These steps should help resolve Error Code 102 and restore your bank connection in QᴜɪᴄᴋBᴏᴏᴋs.
QᴜɪᴄᴋBᴏᴏᴋs Error Code 102 indicates an issue with online banking, often due to server problems or maintenance at your bank’s end. To fix it, follow these steps:Check Bank Website:Log in to your bank’s website to ensure there are no alerts or maintenance notifications.Verify you can access your account without issues.Update QᴜɪᴄᴋBᴏᴏᴋs:In QᴜɪᴄᴋBᴏᴏᴋs Online, go to the “Banking” tab.Click “Update” to refresh your bank connection.Wait and Retry:If the bank is undergoing maintenance, wait a few hours and try updating again.Verify Account Info:Ensure your bank account information and login credentials in QᴜɪᴄᴋBᴏᴏᴋs are accurate and up-to-date.Contact Support:If the issue persists, contact QᴜɪᴄᴋBᴏᴏᴋs support or your bank to check for ongoing issues and get further assistance.These steps should help resolve Error Code 102 and restore your bank connection in QᴜɪᴄᴋBᴏᴏᴋs. Read More
Why Is My Q uick=B00ks Automatic Backup Not Working?
If your Q uick=B00ks automatic backup is not working, it could be due to several reasons:
Outdated Q uick=B00ks : Ensure you have the latest updates installed.Incorrect Backup Settings: Verify your automatic backup settings are correctly configured.Insufficient Permissions: Run Q uick=B00ks as an administrator to grant necessary permissions.File Corruption: Use Q uick=B00ks File Doctor to check and repair any file issues.Storage Issues: Ensure there is enough space on the backup destination drive.
Solution:
Open Q uick=B00ks , go to “File” > “Back Up Company” > “Create Local Backup.”Click “Options” to set your preferences and ensure the destination path is correct.Save and verify the backup.
For further help, contact Q uick=B00ks support.
If your Q uick=B00ks automatic backup is not working, it could be due to several reasons:Outdated Q uick=B00ks : Ensure you have the latest updates installed.Incorrect Backup Settings: Verify your automatic backup settings are correctly configured.Insufficient Permissions: Run Q uick=B00ks as an administrator to grant necessary permissions.File Corruption: Use Q uick=B00ks File Doctor to check and repair any file issues.Storage Issues: Ensure there is enough space on the backup destination drive.Solution:Open Q uick=B00ks , go to “File” > “Back Up Company” > “Create Local Backup.”Click “Options” to set your preferences and ensure the destination path is correct.Save and verify the backup.For further help, contact Q uick=B00ks support. Read More
How do I set up email in QᴜɪᴄᴋBᴏᴏᴋs?
To set up email in QᴜɪᴄᴋBᴏᴏᴋs, follow these steps:
Open Preferences:
Open QᴜɪᴄᴋBᴏᴏᴋs and go to “Edit” > “Preferences.”Select “Send Forms” from the left menu.
Choose Email Provider:
Under the “My Preferences” tab, select your email provider (WebMail, Outlook, or QᴜɪᴄᴋBᴏᴏᴋs Email).
Set Up WebMail:
If using WebMail (e.g., Gmail, Yahoo), click “Add.”Enter your email address and select your provider from the dropdown menu.QᴜɪᴄᴋBᴏᴏᴋs will auto-fill the SMTP server details; confirm and enter your email password.Click “OK” and then “OK” again to save your settings.
Set Up Outlook:
If using Outlook, ensure Outlook is installed and set as your default email program.QᴜɪᴄᴋBᴏᴏᴋs will automatically sync with Outlook for sending emails.
Test Email:
Test the email setup by sending a test email. Go to “File” > “Send Forms” and select a form to send.
These steps will enable you to send invoices, estimates, and other forms directly from QᴜɪᴄᴋBᴏᴏᴋs using your preferred email service.
To set up email in QᴜɪᴄᴋBᴏᴏᴋs, follow these steps:Open Preferences:Open QᴜɪᴄᴋBᴏᴏᴋs and go to “Edit” > “Preferences.”Select “Send Forms” from the left menu.Choose Email Provider:Under the “My Preferences” tab, select your email provider (WebMail, Outlook, or QᴜɪᴄᴋBᴏᴏᴋs Email).Set Up WebMail:If using WebMail (e.g., Gmail, Yahoo), click “Add.”Enter your email address and select your provider from the dropdown menu.QᴜɪᴄᴋBᴏᴏᴋs will auto-fill the SMTP server details; confirm and enter your email password.Click “OK” and then “OK” again to save your settings.Set Up Outlook:If using Outlook, ensure Outlook is installed and set as your default email program.QᴜɪᴄᴋBᴏᴏᴋs will automatically sync with Outlook for sending emails.Test Email:Test the email setup by sending a test email. Go to “File” > “Send Forms” and select a form to send.These steps will enable you to send invoices, estimates, and other forms directly from QᴜɪᴄᴋBᴏᴏᴋs using your preferred email service. Read More
What is the QᴜɪᴄᴋBᴏᴏᴋs Migration Tool and how do I use it?
The QᴜɪᴄᴋBᴏᴏᴋs Migration Tool is a utility that helps you transfer your QᴜɪᴄᴋBᴏᴏᴋs Desktop installation, including data files, to a new computer. To use it, follow these steps:
Prepare for Migration:
On your old computer, open QᴜɪᴄᴋBᴏᴏᴋs and go to “File” > “Utilities” > “Move QᴜɪᴄᴋBᴏᴏᴋs to another computer.”Follow the prompts to create a one-time password and copy the migration tool installer and your QᴜɪᴄᴋBᴏᴏᴋs data to a USB drive.
Run Migration Tool on New Computer:
Insert the USB drive into your new computer.Open the USB drive and run the QᴜɪᴄᴋBᴏᴏᴋs Migration Tool installer.Enter the one-time password you created earlier.
Complete Migration:
Follow the on-screen instructions to transfer QᴜɪᴄᴋBᴏᴏᴋs and your data files to the new computer.The tool will install QᴜɪᴄᴋBᴏᴏᴋson your new computer and move your data files.
Verify Installation:
Open QᴜɪᴄᴋBᴏᴏᴋs on the new computer to ensure all your data has been transferred correctly.Update QᴜɪᴄᴋBᴏᴏᴋs to the latest version if needed.
These steps will help you seamlessly migrate QᴜɪᴄᴋBᴏᴏᴋs Desktop to a new computer, ensuring all your data and settings are preserved.
The QᴜɪᴄᴋBᴏᴏᴋs Migration Tool is a utility that helps you transfer your QᴜɪᴄᴋBᴏᴏᴋs Desktop installation, including data files, to a new computer. To use it, follow these steps:Prepare for Migration:On your old computer, open QᴜɪᴄᴋBᴏᴏᴋs and go to “File” > “Utilities” > “Move QᴜɪᴄᴋBᴏᴏᴋs to another computer.”Follow the prompts to create a one-time password and copy the migration tool installer and your QᴜɪᴄᴋBᴏᴏᴋs data to a USB drive.Run Migration Tool on New Computer:Insert the USB drive into your new computer.Open the USB drive and run the QᴜɪᴄᴋBᴏᴏᴋs Migration Tool installer.Enter the one-time password you created earlier.Complete Migration:Follow the on-screen instructions to transfer QᴜɪᴄᴋBᴏᴏᴋs and your data files to the new computer.The tool will install QᴜɪᴄᴋBᴏᴏᴋson your new computer and move your data files.Verify Installation:Open QᴜɪᴄᴋBᴏᴏᴋs on the new computer to ensure all your data has been transferred correctly.Update QᴜɪᴄᴋBᴏᴏᴋs to the latest version if needed.These steps will help you seamlessly migrate QᴜɪᴄᴋBᴏᴏᴋs Desktop to a new computer, ensuring all your data and settings are preserved. Read More
Introducing Windows 11 checkpoint cumulative updates
We’re excited to further optimize the delivery of continuous innovation in Windows 11 with new checkpoint cumulative updates.[1] As early as late 2024, you will automatically get this optimization on any devices running Windows 11, version 24H2 or later, as well as on Windows Server 2025. Keeping your organization updated and secure will involve smaller, faster, and more sustainable updates, with no action required from you. Keep reading to learn how you can preview this experience today in Windows Insider Preview Build 26120.1252 (Dev Channel).
Tip: Windows 11, version 24H2 will be available as a traditional feature update to all devices later this year.
Checkpoint cumulative updates explained
Windows 11 quality updates use servicing technology and are built cumulatively from the time when a new Windows OS was “released to manufacturing” (RTM). These monthly updates include all the changes since RTM in the form of binary differentials computed from the initial version of those binaries.
Tip: Review how quality updates work in Windows monthly updates explained.
With Windows 11, version 24H2, we’re introducing a new concept of checkpoint cumulative updates. This will allow you to get features and security enhancements via the latest cumulative update through smaller, incremental differentials containing only the changes since the previous checkpoint cumulative update. This means that you can save time, bandwidth, and hard drive space.
Going forward, Microsoft might periodically release cumulative updates as checkpoints. The subsequent updates will then consist of:
The update package files associated with the checkpoints
New update package files that contain incremental binary differentials against the version of binaries in the last checkpoint
This process may be repeated multiple times, thereby generating multiple checkpoints during the lifecycle of a given Windows release. The Windows 11, version 24H2 servicing stack can merge all the checkpoints and only download and install content that’s missing on the device.
Managing cumulative updates
If you manage updates with Windows Update, Windows Update for Business, Windows Autopatch, or Windows Server Update Services (WSUS), these new developments do not require any changes or actions on your part. They will simply appear as a normal monthly update, only improved. You can continue to use the same tools and processes that you currently use for approving and deploying updates.
Remember, this applies to your devices running Windows 11, version 24H2 or later, as well as Windows Server 2025. You can preview this experience today with Windows Insider Preview Build 26120.1252 (Dev Channel).
If you source updates from the Microsoft Update Catalog, you’ll notice that a given monthly update may contain more than one update package file available for download. There will be one file for each checkpoint, plus an additional file that contains cumulative payload from the latest checkpoint. You will be able to install all files sequentially using existing deployment tools.
If you are running other versions of Windows 10 or Windows 11 (earlier than version 24H2), the process of updating will be similar to previous monthly updates or annual Windows 11 feature updates.
Benefits of checkpoint cumulative updates
Now your organization can stay current with the latest feature and security enhancements in improved ways. Specifically, you get even smaller downloads to Windows devices, sustainable redistribution of updates within your infrastructure, and a better update experience for annual feature updates.
Smaller downloads to the clients
Previously with Windows 11, version 21H2, we introduced smaller downloads to Windows devices by doing range reads to only download and install binary differentials missing on the device. These binary differentials are computed against the RTM version of the binaries. When Windows 11 24H2 cumulative update is released as a checkpoint, the binary differentials in subsequent cumulative updates are generated against the version of binaries in the latest checkpoint instead of the RTM version. Therefore, these differentials are smaller and faster to apply on devices that have already synced to the latest checkpoint cumulative update.
Tip: For a refresher on prior improvements, refer to Windows 11 cumulative updates improvements: an overview and Faster. Smaller. Windows 11, version 22H2 update fundamentals.
Server-side sustainable redistribution
Up to this point, updates have been packaged in a single file that continues to grow over time. This file is downloaded or cached on to the distribution points for redistribution whether they’re Microsoft front-end servers or your remote branch offices. For subsequent updates after a checkpoint, you don’t need to redistribute all the content accumulated since RTM. Once you download a checkpoint file, you can use file-level deduplication to only download incremental files in the subsequent updates. Reserve valuable energy resources only for what’s necessary.
Optimized and sustained feature update delivery via enablement packages
When an annual feature update is delivered using servicing technology and an enablement package, this new release shares a common core operating system with the previous release.[2] This means that it also shares the same monthly updates. The result is single update files become increasingly larger and more impactful with every new release that has its own servicing lifecycle.
When a checkpoint is introduced in alignment with the availability of a feature update with an enablement package, the monthly updates for those releases can start fresh and small. This means that Microsoft can scale to more enablement packages for feature updates, and you can adopt them faster, more easily, and more efficiently than a traditional feature update.
These optimizations are especially designed to help your organization to adopt the continuous innovation model of Windows 11. With annual enablement-package–based feature updates, you can improve your security posture and compliance by ensuring that your devices are always running the latest of Windows 11.
Get ready
We encourage you to check out the preview experience today in Windows Insider Preview Build 26120.1252 (Dev Channel).
We’re passionate about keeping your device protected and productive. As the teams that bring you Windows updates every month, we’ve embraced continuous delivery of innovation and make improvements regularly. We’re excited about this newest innovation for cumulative updates, and we hope that you try Windows 11 checkpoint cumulative updates soon!
[1] Read about Delivering continuous innovation in Windows 11.
[2] To review how enablement packages work, see What’s new for IT pros in Windows 11, version 23H2 and KB5027397.
Continue the conversation. Find best practices. Bookmark the Windows Tech Community, then follow us @MSWindowsITPro on X and on LinkedIn. Looking for support? Visit Windows on Microsoft Q&A.
Microsoft Tech Community – Latest Blogs –Read More
Comparing feature sets for AKS enabled by Azure Arc deployment options
This article shows a comparison of features available for the different deployment options under AKS enabled by Azure Arc.
AKS on Azure Stack HCI, version 23H2
AKS Edge Essentials
AKS on Windows Server and AKS on Azure Stack HCI 22H2
Supported infrastructure where the Kubernetes clusters are hosted
Azure Stack HCI, version 23H2
Windows 10/11 IoT Enterprise
Windows 10/11 Enterprise
Windows 10/11 Pro
Windows Server 2019/2022
Azure Stack HCI 22H2
Windows Server 2019
Windows Server 2022
CNCF conformant?
Yes
Yes
Yes
K8s cluster lifecycle management tools (create, scale, upgrade and delete clusters)
Az CLI
Az PowerShell
Azure Portal
ARM templates
PowerShell
PowerShell
Windows Admin Center
Kubernetes cluster management plane
Kubernetes clusters are managed by Arc Resource Bridge that runs as part of infrastructure components on the Azure Stack HCI cluster.
Kubernetes clusters are self-managed, to preserve resources.
Kubernetes clusters are managed using a “management cluster”, that is installed using PowerShell before Kubernetes workload clusters can be created.
Can you use kubectl and other open-source Kubernetes tools?
Yes
Yes
Yes
Supported Kubernetes versions.
Supports K8s only.
Continuous updates to supported Kubernetes versions. For latest version support, run az aksarc get-versions.
Supports K3s and K8s. Continuous updates to supported Kubernetes versions. For the latest version, visit steps to prepare your machine for AKS Edge Essentials.
Supports K8s only.
Continuous updates to supported Kubernetes versions. For latest version support, visit AKS hybrid releases on GitHub.
Azure Fleet Manager integration
No
No
No
Terraform integration
Not yet
No
No
Azure Monitor integration
Yes, via Arc extensions
Yes, via Arc extensions
Yes, via Arc extensions
The following is a comparison between node pool capabilities for AKS enabled by Azure Arc deployment options:
AKS on Azure Stack HCI, version 23H2
AKS Edge Essentials
AKS on Windows Server and Azure Stack HCI 22H2
Windows nodepool support
Yes
Windows Server 2019 Datacenter
Windows Server 2022 Datacenter
Yes
Windows Server 2022 Datacenter (Core)
Yes
Windows Server 2019 Datacenter
Windows Server 2022 Datacenter
Linux OS options
Container Runtime
Containerd for Linux and Windows nodes.
Containerd for Linux and Windows nodes.
Containerd for Linux and Windows nodes.
Node pool auto-scalar
Yes
No (manually add nodes)
Yes
Horizontal pod scalar
Yes
No
Yes
GPU support
Yes
No
Yes
Azure container registry
Yes
Yes
Yes
The following is a comparison between networking features for AKS enabled by Azure Arc deployment options:
AKS on Azure Stack HCI, version 23H2
AKS Edge Essentials
AKS on Windows Server and Azure Stack HCI 22H2
Network creation and management
You need to create the network in Azure Stack HCI 23H2 before creating an AKS cluster. You also need to ensure the network has the right connectivity and IP address availability for a successful cluster creation and operation.
You need to provide the IP address range for node IPs and Service IPs, that is available and has the right connectivity. The network configuration needed for the cluster is handled by AKS. Read AKS Edge Essentials networking.
You need to create the network in Windows Server before creating an AKS cluster. You also need to ensure the Read network has the right connectivity and IP address availability for a successful cluster creation and operation.
Supported networking options
Static IP networks with/without VLAN ID
Static IP address or use reserved IPs when using DHCP
DHCP networks with/without VLAN ID
Static IP networks with/without VLAN ID
SDN support
No
No
Yes
Supported CNIs
Calico
Calico (K8s)
Flannel (K3s)
Calico
Load balancer
MetalLB Arc extension
Bring your own load balancer (BYOLB)
KubeVIP
MetalLB Arc extension
Bring your own load balancer (BYOLB)
HAProxy
MetalLB Arc extension
SDN load balancer
Bring your own load balancer (BYOLB)
The following is a comparison between storage features for AKS enabled by Azure Arc deployment options:
AKS on Azure Stack HCI, version 23H2
AKS Edge Essentials
AKS on Windows Server and Azure Stack HCI 22H2
Types of supported persistent volumes
Read Write Once
Read Write Many
PVC using local storage
Read Write Once
Read Write Many
Container Storage Interface (CSI) support
Yes
Yes
Yes
CSI drivers
Disk and Files (SMB and NFS) drivers installed by default.
Support for SMB and NFS storage drivers.
Support for SMB and NFS storage drivers.
Dynamic provisioning support
Yes
Yes
Yes
Volume resizing support
Yes
Yes
Yes
The following is a comparison between security and authentication options in AKS and AKS enabled by Azure Arc:
AKS on Azure Stack HCI, version 23H2
AKS Edge Essentials
AKS on Windows Server and Azure Stack HCI 22H2
Access to Kubernetes clusters
Kubectl
Kubectl
Kubectl
Kubernetes cluster authentication
Certificate based Kubeconfig
Microsoft Entra ID
Certificate based Kubeconfig
Microsoft Entra ID
Certificate based Kubeconfig
Microsoft Entra ID
Active Directory SSO
Kubernetes cluster authorization (RBAC)
Kubernetes RBAC
Azure RBAC
Kubernetes RBAC
Kubernetes RBAC
Support for network policies
No
No
Yes – only for Linux containers
Limit source networks that can access API server
Yes
Yes
Yes
Certificate rotation and encryption
Yes
Yes
Yes
Secrets store CSI driver
Yes
Yes
Yes
gMSA support
No
Yes
Yes
Azure policy
Yes, via Arc extensions
Yes, via Arc extensions
Yes, via Arc extensions
Azure Defender
No
Yes, via Arc extensions (preview)
Yes, via Arc extensions (preview)
The following is a comparison between pricing and SLA for AKS and AKS enabled by Azure Arc:
AKS on Azure Stack HCI, version 23H2
AKS Edge Essentials
AKS on Windows Server and Azure Stack HCI 22H2
Pricing
Pricing is based on the number of workload cluster vCPUs. Control plane node nodes are free.
Azure Stack HCI, version 23H2 is priced a $10/physical core and
AKS workload VMs is $24/vcpu/month.
$2.50 per device per month.
Pricing is based on the number of workload cluster vCPUs. Control plane nodes & load balancer VMs are free.
Azure Stack HCI, version 23H2 is priced a $10/physical core and
AKS workload VMs is $24/vcpu/month.
Azure hybrid benefit support
Yes
No
Yes
SLA
No SLA offered since the Kubernetes cluster is running on-premises.
No SLA offered since the Kubernetes cluster is running on-premises.
No SLA offered since the Kubernetes cluster is running on-premises.
Microsoft Tech Community – Latest Blogs –Read More
What’s new in July: Azure Innovate & Azure Migrate and Modernize are built to work together.
A new Innovate with Azure AI Platform scenario for pre-sales and post-sales.
Evolving Build and Modernize AI Apps coverage for additional scenarios.
For ISVs – Build and Modernize AI Apps and Analytics will now support large Pilot/POV engagement types.
We are also launching AI envisioning and Proof of Value support for ISVs, as a part of Azure Innovate partner-led Build and Modernize AI Apps scenarios. Qualified SI partners now have a path to directly nominate ISVs for providing AI Envisioning and Proof of Value (PoV) support. AI envisioning sessions will help software companies define AI use cases, understand best practices, and develop optimal technical approaches with a proof of value/pilot to build AI-powered apps.
Platform level changes and enhancements to improve the partner experience:
MSFT sellers now get visibility of SI post-sales deployments for increased co sell opportunities.
Updated partner-led governance – Shift from 2:1 to 3:1 for pre-sales to post-sales governance ratio increasing the total pre-sales engagements available to partners to drive deployments.
Expanded eligibility with Microsoft Certified Software Designations for ISV offers.
Learn more and nominate today
Microsoft Tech Community – Latest Blogs –Read More
Help converting CAN Payload in String format to engineering unit
Hello,
I have the following valiable in Matlab which holds the CAN data from a recorder in the following format:
Hexadecimal
The output of Row 1047 Should be -1951 normally and -1.951 after factoring it by 0.001. This conversion is done using this website.This is basically a force value of a Dynamometer. How can I do this conversion in Matlab? Any known function?
The closest example I found is here, but does not actually solves my problem.
The DBC is as follows:Hello,
I have the following valiable in Matlab which holds the CAN data from a recorder in the following format:
Hexadecimal
The output of Row 1047 Should be -1951 normally and -1.951 after factoring it by 0.001. This conversion is done using this website.This is basically a force value of a Dynamometer. How can I do this conversion in Matlab? Any known function?
The closest example I found is here, but does not actually solves my problem.
The DBC is as follows: Hello,
I have the following valiable in Matlab which holds the CAN data from a recorder in the following format:
Hexadecimal
The output of Row 1047 Should be -1951 normally and -1.951 after factoring it by 0.001. This conversion is done using this website.This is basically a force value of a Dynamometer. How can I do this conversion in Matlab? Any known function?
The closest example I found is here, but does not actually solves my problem.
The DBC is as follows: can, dbc MATLAB Answers — New Questions
Index in position 1 is invalid. Array indices must be positive integers or logical values Error
Pdata=0:floor(length(pressure01)/400);
for i=0:length(pressure01)
for j=0:floor(length(pressure01)/400)
if mod(i,400)==0;
Pdata(j)=pressure01(i,1);
end
end
end
Im trying to get the code to work but it gives me an error in line 5 saying "Index in position 1 is invalid. Array indices must be
positive integers or logical values."
pressure01 is a column vector, not sure whats wrongPdata=0:floor(length(pressure01)/400);
for i=0:length(pressure01)
for j=0:floor(length(pressure01)/400)
if mod(i,400)==0;
Pdata(j)=pressure01(i,1);
end
end
end
Im trying to get the code to work but it gives me an error in line 5 saying "Index in position 1 is invalid. Array indices must be
positive integers or logical values."
pressure01 is a column vector, not sure whats wrong Pdata=0:floor(length(pressure01)/400);
for i=0:length(pressure01)
for j=0:floor(length(pressure01)/400)
if mod(i,400)==0;
Pdata(j)=pressure01(i,1);
end
end
end
Im trying to get the code to work but it gives me an error in line 5 saying "Index in position 1 is invalid. Array indices must be
positive integers or logical values."
pressure01 is a column vector, not sure whats wrong code, error MATLAB Answers — New Questions
Looking for bug in a graphics program for plotting dipole fields
Greetings,
First, I apologize for postiing in the "General" area. This is the fisrt time I am asking for help in the MATLAB community and navagting this tyupe of forum. In looking of a MATAB program to plot both electric and potential fields of a dipole I came across a Book Chapter under the Academia profile of Darvin Messi on Numerical Methods. See the following link:
https://www.academia.edu/7995677/NUMERICAL_METHODS?email_work_card=view-paper&li=0
I typed in the code and worked through a majority of bugs, a couple due to typos in the text. One had to do with adding a symbol to the plot function. I got the electric fields portion to work perfectly. However, the electric potential plots still do not work. I have tried to the best of my ability to error trap. I was able to get a couple of points to plot but nothing more. I really like this approach which does not make use of MATLAB’s mesh or gradient functions because of the application I have in working with students. On the other hand, I do not know why this portion is not working. Any help would be greatly appreciated as I would not trouble the MATLAB community without exhausting the combination/permutations of what could be wrong.
I would be great to then keep the corrected version on this community as through my searches, a program like this has been requested by students very frequently.
Best wishes,
David.
%. Program below
plotit ( [-1 1], [-1.5 0; 1.5 0], 1, 1, 0.01, 0.01, 20, 20, 5)
function plotit(charges, location, ckEField, ckEq, DLE, DLV, NLE, NLV, PTS)
figure;
hold on
% Program for plotting the electric field lines
% and equipotential lines due to coplanar point charges
% the plot is to be within the range -5<x,y<5
%
% This is the correct usage:
% function plotit(charges, location,ckEField,ckEq,DLE,DLV,NLE,NLV,PTS)
%
% where,
% charges = a vector containing the charges
% location = a matrix where each row is a charge location
% ckEField = Flag set to 1 plots the Efield lines
% ckEq = Flag set to 1 plots the Equipotential lines
% DLE or DLV = the increment along E & V lines
% NLE = No. of E-Field lines per charge
% NLV = No. of Equipotential lines per charge
% PTS => Plots every PTS point (i.e. if PTS = 5 then plot every 5th point)
% note that constant Q/4*Pie*ErR is set equal to 1.0
% Determine the E-Field Lines
% For convenience, the starting points( XS,YS) are radially distributed about charge locations
Q=charges;
XQ = location(:,1);
YQ = location(:,2);
JJ=1;
NQ = length(charges);
if (ckEField)
for K=1:NQ
for I =1:NLE
THETA = 2*pi*(I-1)/(NLE);
XS=XQ(K)+0.1*cos(THETA);
YS=YQ(K)+0.1*sin(THETA);
XE=XS;
YE=YS;
JJ=JJ+1;
if (~mod(JJ,PTS))
plot(XE, YE, ‘k.’)
end
while (1)
% Find increment and new point (X,Y)
EX=0;
EY=0;
for J=1:NQ;
R =sqrt((XE-XQ(J))^2 + (YE – YQ(J))^2 );
EX = EX +Q(J)*(XE-XQ(J))/(R^3);
EY = EY +Q(J)*(YE-YQ(J))/(R^3);
end
E = sqrt(EX^2 + EY^2);
% CHECK FOR A SINGULAR POINT
if (E <=0.00005)
break;
end
DX = DLE*EX/E;
DY = DLE*EY/E;
% FOR NEGATIVE CHARGE, NEGATE DX & DY SO THAT INCREMENT IS AWAY FROM THE CHARGE
if (Q(K) < 0)
DX = -DX;
DY = -DY;
end
XE = XE + DX;
YE = YE + DY;
% CHECK WHETHER NEW POINT IS WITHIN THE GIVEN RANGE OR TOO
% CLOSE TO ANY OF THE POINT CHARGES – TO AVOID SINGULAR POINT
if ((abs(XE) >= 5) | (abs(YE) >= 5))
break;
end
if (sum(abs(XE-XQ) < 0.05 & abs(YE-YQ) < 0.05) > 0)
break;
end
JJ=JJ+1;
if (~mod(JJ,PTS))
plot(XE,YE,’k.’)
end
end % while loop
end % I =1:NLE
end % K = 1:NQ
end % if
% NEXT, DETERMINE THE EQUIPOTENTIAL LINES FOR CONVENIENCE, THE STARTING POINTS (XS,YS) ARE
% CHOSEN LIKE THOSE FOR THE E-FIELD LINES
if(ckEq)
JJ=1;
DELTA = 0.2;
ANGLE = 45*pi/180;
for K =1:NQ
FACTOR = 0.5
for KK = 1:NLV
XS = XQ(K) + FACTOR*cos(ANGLE);
YS = YQ(K) + FACTOR*sin(ANGLE);
if ( abs(XS) >= 5 | abs(YS) >=5 )
break;
end
DIR = 1;
XV = XS;
YV = YS;
JJ=JJ+1;
if (~mod(JJ,PTS))
plot(XV,YV, ‘rs’)
end
% FIND INCREMENT AND NEW POINT (XV,YV)
N=1;
while(1)
EX = 0;
EY = 0;
for J = 1:NQ
R = sqrt((XV-XQ(J))^2 + (YV-YQ(J))^2);
EX = EX + Q(J)*(XV-XQ(J))/(R^3);
EY = EY + Q(J)*(YV-YQ(J))/(R^3);
end
E=sqrt(EX^2 + EY^2);
if (E <= 0.00005)
FACTOR = 2*FACTOR;
break;
end;
DX = -(DLV*EX)/E;
DY = (DLV*EY)/E;
XV = XV + DIR*DX;
YV = YV + DIR*DY;
% CHECK IF THE EQUIPOTENTIAL LINE LOOPS BACK TO (X,YS)
R0 = sqrt((XV – XS)^2 + (YV – YS)^2);
if (R0 < DELTA & N < 50)
FACTOR = 2*FACTOR;
break;
end
% CHECK WHETHER NEW POINT IS WITHIN THE GIVEN RANGE IF FOUND OUT OF RANGE, GO BACK TO THE STARTING POINT
% (S,YS) BUT INCREMENT IN THE OPPOSITE DIRECTION
if (abs(XV) > 5 | abs(YV) > 5)
DIR = DIR – 2;
XV = XS;
YV = YS;
end
if (abs(DIR) > 1)
FACTOR = 2*FACTOR;
break;
end
if ( sum( abs(XV-XQ) < 0.005 & abs(YV-YQ) < 0.005) > 0 )
break;
end
end
JJ=JJ+1;
if (~mod(JJ,PTS))
N=N+1;
plot(XV,YV,’rs’)
end
end % WHILE loop
end % KK
end % K
end % ifGreetings,
First, I apologize for postiing in the "General" area. This is the fisrt time I am asking for help in the MATLAB community and navagting this tyupe of forum. In looking of a MATAB program to plot both electric and potential fields of a dipole I came across a Book Chapter under the Academia profile of Darvin Messi on Numerical Methods. See the following link:
https://www.academia.edu/7995677/NUMERICAL_METHODS?email_work_card=view-paper&li=0
I typed in the code and worked through a majority of bugs, a couple due to typos in the text. One had to do with adding a symbol to the plot function. I got the electric fields portion to work perfectly. However, the electric potential plots still do not work. I have tried to the best of my ability to error trap. I was able to get a couple of points to plot but nothing more. I really like this approach which does not make use of MATLAB’s mesh or gradient functions because of the application I have in working with students. On the other hand, I do not know why this portion is not working. Any help would be greatly appreciated as I would not trouble the MATLAB community without exhausting the combination/permutations of what could be wrong.
I would be great to then keep the corrected version on this community as through my searches, a program like this has been requested by students very frequently.
Best wishes,
David.
%. Program below
plotit ( [-1 1], [-1.5 0; 1.5 0], 1, 1, 0.01, 0.01, 20, 20, 5)
function plotit(charges, location, ckEField, ckEq, DLE, DLV, NLE, NLV, PTS)
figure;
hold on
% Program for plotting the electric field lines
% and equipotential lines due to coplanar point charges
% the plot is to be within the range -5<x,y<5
%
% This is the correct usage:
% function plotit(charges, location,ckEField,ckEq,DLE,DLV,NLE,NLV,PTS)
%
% where,
% charges = a vector containing the charges
% location = a matrix where each row is a charge location
% ckEField = Flag set to 1 plots the Efield lines
% ckEq = Flag set to 1 plots the Equipotential lines
% DLE or DLV = the increment along E & V lines
% NLE = No. of E-Field lines per charge
% NLV = No. of Equipotential lines per charge
% PTS => Plots every PTS point (i.e. if PTS = 5 then plot every 5th point)
% note that constant Q/4*Pie*ErR is set equal to 1.0
% Determine the E-Field Lines
% For convenience, the starting points( XS,YS) are radially distributed about charge locations
Q=charges;
XQ = location(:,1);
YQ = location(:,2);
JJ=1;
NQ = length(charges);
if (ckEField)
for K=1:NQ
for I =1:NLE
THETA = 2*pi*(I-1)/(NLE);
XS=XQ(K)+0.1*cos(THETA);
YS=YQ(K)+0.1*sin(THETA);
XE=XS;
YE=YS;
JJ=JJ+1;
if (~mod(JJ,PTS))
plot(XE, YE, ‘k.’)
end
while (1)
% Find increment and new point (X,Y)
EX=0;
EY=0;
for J=1:NQ;
R =sqrt((XE-XQ(J))^2 + (YE – YQ(J))^2 );
EX = EX +Q(J)*(XE-XQ(J))/(R^3);
EY = EY +Q(J)*(YE-YQ(J))/(R^3);
end
E = sqrt(EX^2 + EY^2);
% CHECK FOR A SINGULAR POINT
if (E <=0.00005)
break;
end
DX = DLE*EX/E;
DY = DLE*EY/E;
% FOR NEGATIVE CHARGE, NEGATE DX & DY SO THAT INCREMENT IS AWAY FROM THE CHARGE
if (Q(K) < 0)
DX = -DX;
DY = -DY;
end
XE = XE + DX;
YE = YE + DY;
% CHECK WHETHER NEW POINT IS WITHIN THE GIVEN RANGE OR TOO
% CLOSE TO ANY OF THE POINT CHARGES – TO AVOID SINGULAR POINT
if ((abs(XE) >= 5) | (abs(YE) >= 5))
break;
end
if (sum(abs(XE-XQ) < 0.05 & abs(YE-YQ) < 0.05) > 0)
break;
end
JJ=JJ+1;
if (~mod(JJ,PTS))
plot(XE,YE,’k.’)
end
end % while loop
end % I =1:NLE
end % K = 1:NQ
end % if
% NEXT, DETERMINE THE EQUIPOTENTIAL LINES FOR CONVENIENCE, THE STARTING POINTS (XS,YS) ARE
% CHOSEN LIKE THOSE FOR THE E-FIELD LINES
if(ckEq)
JJ=1;
DELTA = 0.2;
ANGLE = 45*pi/180;
for K =1:NQ
FACTOR = 0.5
for KK = 1:NLV
XS = XQ(K) + FACTOR*cos(ANGLE);
YS = YQ(K) + FACTOR*sin(ANGLE);
if ( abs(XS) >= 5 | abs(YS) >=5 )
break;
end
DIR = 1;
XV = XS;
YV = YS;
JJ=JJ+1;
if (~mod(JJ,PTS))
plot(XV,YV, ‘rs’)
end
% FIND INCREMENT AND NEW POINT (XV,YV)
N=1;
while(1)
EX = 0;
EY = 0;
for J = 1:NQ
R = sqrt((XV-XQ(J))^2 + (YV-YQ(J))^2);
EX = EX + Q(J)*(XV-XQ(J))/(R^3);
EY = EY + Q(J)*(YV-YQ(J))/(R^3);
end
E=sqrt(EX^2 + EY^2);
if (E <= 0.00005)
FACTOR = 2*FACTOR;
break;
end;
DX = -(DLV*EX)/E;
DY = (DLV*EY)/E;
XV = XV + DIR*DX;
YV = YV + DIR*DY;
% CHECK IF THE EQUIPOTENTIAL LINE LOOPS BACK TO (X,YS)
R0 = sqrt((XV – XS)^2 + (YV – YS)^2);
if (R0 < DELTA & N < 50)
FACTOR = 2*FACTOR;
break;
end
% CHECK WHETHER NEW POINT IS WITHIN THE GIVEN RANGE IF FOUND OUT OF RANGE, GO BACK TO THE STARTING POINT
% (S,YS) BUT INCREMENT IN THE OPPOSITE DIRECTION
if (abs(XV) > 5 | abs(YV) > 5)
DIR = DIR – 2;
XV = XS;
YV = YS;
end
if (abs(DIR) > 1)
FACTOR = 2*FACTOR;
break;
end
if ( sum( abs(XV-XQ) < 0.005 & abs(YV-YQ) < 0.005) > 0 )
break;
end
end
JJ=JJ+1;
if (~mod(JJ,PTS))
N=N+1;
plot(XV,YV,’rs’)
end
end % WHILE loop
end % KK
end % K
end % if Greetings,
First, I apologize for postiing in the "General" area. This is the fisrt time I am asking for help in the MATLAB community and navagting this tyupe of forum. In looking of a MATAB program to plot both electric and potential fields of a dipole I came across a Book Chapter under the Academia profile of Darvin Messi on Numerical Methods. See the following link:
https://www.academia.edu/7995677/NUMERICAL_METHODS?email_work_card=view-paper&li=0
I typed in the code and worked through a majority of bugs, a couple due to typos in the text. One had to do with adding a symbol to the plot function. I got the electric fields portion to work perfectly. However, the electric potential plots still do not work. I have tried to the best of my ability to error trap. I was able to get a couple of points to plot but nothing more. I really like this approach which does not make use of MATLAB’s mesh or gradient functions because of the application I have in working with students. On the other hand, I do not know why this portion is not working. Any help would be greatly appreciated as I would not trouble the MATLAB community without exhausting the combination/permutations of what could be wrong.
I would be great to then keep the corrected version on this community as through my searches, a program like this has been requested by students very frequently.
Best wishes,
David.
%. Program below
plotit ( [-1 1], [-1.5 0; 1.5 0], 1, 1, 0.01, 0.01, 20, 20, 5)
function plotit(charges, location, ckEField, ckEq, DLE, DLV, NLE, NLV, PTS)
figure;
hold on
% Program for plotting the electric field lines
% and equipotential lines due to coplanar point charges
% the plot is to be within the range -5<x,y<5
%
% This is the correct usage:
% function plotit(charges, location,ckEField,ckEq,DLE,DLV,NLE,NLV,PTS)
%
% where,
% charges = a vector containing the charges
% location = a matrix where each row is a charge location
% ckEField = Flag set to 1 plots the Efield lines
% ckEq = Flag set to 1 plots the Equipotential lines
% DLE or DLV = the increment along E & V lines
% NLE = No. of E-Field lines per charge
% NLV = No. of Equipotential lines per charge
% PTS => Plots every PTS point (i.e. if PTS = 5 then plot every 5th point)
% note that constant Q/4*Pie*ErR is set equal to 1.0
% Determine the E-Field Lines
% For convenience, the starting points( XS,YS) are radially distributed about charge locations
Q=charges;
XQ = location(:,1);
YQ = location(:,2);
JJ=1;
NQ = length(charges);
if (ckEField)
for K=1:NQ
for I =1:NLE
THETA = 2*pi*(I-1)/(NLE);
XS=XQ(K)+0.1*cos(THETA);
YS=YQ(K)+0.1*sin(THETA);
XE=XS;
YE=YS;
JJ=JJ+1;
if (~mod(JJ,PTS))
plot(XE, YE, ‘k.’)
end
while (1)
% Find increment and new point (X,Y)
EX=0;
EY=0;
for J=1:NQ;
R =sqrt((XE-XQ(J))^2 + (YE – YQ(J))^2 );
EX = EX +Q(J)*(XE-XQ(J))/(R^3);
EY = EY +Q(J)*(YE-YQ(J))/(R^3);
end
E = sqrt(EX^2 + EY^2);
% CHECK FOR A SINGULAR POINT
if (E <=0.00005)
break;
end
DX = DLE*EX/E;
DY = DLE*EY/E;
% FOR NEGATIVE CHARGE, NEGATE DX & DY SO THAT INCREMENT IS AWAY FROM THE CHARGE
if (Q(K) < 0)
DX = -DX;
DY = -DY;
end
XE = XE + DX;
YE = YE + DY;
% CHECK WHETHER NEW POINT IS WITHIN THE GIVEN RANGE OR TOO
% CLOSE TO ANY OF THE POINT CHARGES – TO AVOID SINGULAR POINT
if ((abs(XE) >= 5) | (abs(YE) >= 5))
break;
end
if (sum(abs(XE-XQ) < 0.05 & abs(YE-YQ) < 0.05) > 0)
break;
end
JJ=JJ+1;
if (~mod(JJ,PTS))
plot(XE,YE,’k.’)
end
end % while loop
end % I =1:NLE
end % K = 1:NQ
end % if
% NEXT, DETERMINE THE EQUIPOTENTIAL LINES FOR CONVENIENCE, THE STARTING POINTS (XS,YS) ARE
% CHOSEN LIKE THOSE FOR THE E-FIELD LINES
if(ckEq)
JJ=1;
DELTA = 0.2;
ANGLE = 45*pi/180;
for K =1:NQ
FACTOR = 0.5
for KK = 1:NLV
XS = XQ(K) + FACTOR*cos(ANGLE);
YS = YQ(K) + FACTOR*sin(ANGLE);
if ( abs(XS) >= 5 | abs(YS) >=5 )
break;
end
DIR = 1;
XV = XS;
YV = YS;
JJ=JJ+1;
if (~mod(JJ,PTS))
plot(XV,YV, ‘rs’)
end
% FIND INCREMENT AND NEW POINT (XV,YV)
N=1;
while(1)
EX = 0;
EY = 0;
for J = 1:NQ
R = sqrt((XV-XQ(J))^2 + (YV-YQ(J))^2);
EX = EX + Q(J)*(XV-XQ(J))/(R^3);
EY = EY + Q(J)*(YV-YQ(J))/(R^3);
end
E=sqrt(EX^2 + EY^2);
if (E <= 0.00005)
FACTOR = 2*FACTOR;
break;
end;
DX = -(DLV*EX)/E;
DY = (DLV*EY)/E;
XV = XV + DIR*DX;
YV = YV + DIR*DY;
% CHECK IF THE EQUIPOTENTIAL LINE LOOPS BACK TO (X,YS)
R0 = sqrt((XV – XS)^2 + (YV – YS)^2);
if (R0 < DELTA & N < 50)
FACTOR = 2*FACTOR;
break;
end
% CHECK WHETHER NEW POINT IS WITHIN THE GIVEN RANGE IF FOUND OUT OF RANGE, GO BACK TO THE STARTING POINT
% (S,YS) BUT INCREMENT IN THE OPPOSITE DIRECTION
if (abs(XV) > 5 | abs(YV) > 5)
DIR = DIR – 2;
XV = XS;
YV = YS;
end
if (abs(DIR) > 1)
FACTOR = 2*FACTOR;
break;
end
if ( sum( abs(XV-XQ) < 0.005 & abs(YV-YQ) < 0.005) > 0 )
break;
end
end
JJ=JJ+1;
if (~mod(JJ,PTS))
N=N+1;
plot(XV,YV,’rs’)
end
end % WHILE loop
end % KK
end % K
end % if graphics and visualization pl MATLAB Answers — New Questions
How to Create a QᴜɪᴄKBᴏᴏᴋs Portable Company File: Step-by-Step Guide
Creating a QᴜɪᴄKBᴏᴏᴋs portable company file allows for easy sharing and transferring of financial data. Here’s a concise guide:
1. **Open QᴜɪᴄKBᴏᴏᴋs :** Launch QᴜɪᴄKBᴏᴏᴋs Desktop and open the company file you wish to create a portable version of.
2. **Access File Menu:** Click on the “File” menu at the top-left corner of the screen.
3. **Select Create Copy:** Choose “Create Copy…” from the dropdown menu.
4. **Choose Portable Company File:** In the window that appears, opt for “Portable company file” and click “Next.”
5. **Save File:** Select the location where you want to save the portable file. QᴜɪᴄKBᴏᴏᴋs automatically appends a “.QBM” extension.
6. **Send or Transfer:** Share the portable file via email, USB drive, or any preferred method.
Creating a QᴜɪᴄKBᴏᴏᴋs portable company file is ideal for sending data to your accountant, creating backups, or for easy migration to a different computer. Ensure to backup your original company file before making any changes.
Creating a QᴜɪᴄKBᴏᴏᴋs portable company file allows for easy sharing and transferring of financial data. Here’s a concise guide: 1. **Open QᴜɪᴄKBᴏᴏᴋs :** Launch QᴜɪᴄKBᴏᴏᴋs Desktop and open the company file you wish to create a portable version of.2. **Access File Menu:** Click on the “File” menu at the top-left corner of the screen.3. **Select Create Copy:** Choose “Create Copy…” from the dropdown menu.4. **Choose Portable Company File:** In the window that appears, opt for “Portable company file” and click “Next.”5. **Save File:** Select the location where you want to save the portable file. QᴜɪᴄKBᴏᴏᴋs automatically appends a “.QBM” extension.6. **Send or Transfer:** Share the portable file via email, USB drive, or any preferred method. Creating a QᴜɪᴄKBᴏᴏᴋs portable company file is ideal for sending data to your accountant, creating backups, or for easy migration to a different computer. Ensure to backup your original company file before making any changes. Read More
Email address autofill disaster
I have a very very upsetting situation. I work in a medi-cal provider, and when I type in her email address, outlook has somehow connected the email address as a person, and connected another email address to the entry. Also, there are literally no entries in the address book, so I have no idea how I can track down and correct this problem. I have already sent medically sensitive information to the wrong person because of this weirdness 🙁
example:
I type in email address removed for privacy reasons and it shows the autofill with email address removed for privacy reasons in larger font, and below it in smaller font it displays email address removed for privacy reasons. So when I type email address removed for privacy reasons in the To: field, it send the message to email address removed for privacy reasons. This happens even when I do not select the autofill dropdown option. Again, when I click on the address book there are no entries that I could edit and resolve this. Help!!!
I have a very very upsetting situation. I work in a medi-cal provider, and when I type in her email address, outlook has somehow connected the email address as a person, and connected another email address to the entry. Also, there are literally no entries in the address book, so I have no idea how I can track down and correct this problem. I have already sent medically sensitive information to the wrong person because of this weirdness :(example:I type in email address removed for privacy reasons and it shows the autofill with email address removed for privacy reasons in larger font, and below it in smaller font it displays email address removed for privacy reasons. So when I type email address removed for privacy reasons in the To: field, it send the message to email address removed for privacy reasons. This happens even when I do not select the autofill dropdown option. Again, when I click on the address book there are no entries that I could edit and resolve this. Help!!! Read More