How can I run a section when there are still errors present in other sections?
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Cor van Leuken
le 9 Oct 2018
Commenté : Adam Campos
le 16 Mar 2024
I provide my students with a script, which they need to modify. I want them to evaluate the part they have finished but the script will not run because of errors still present in other sections. with 2017a it is possible, with 2017b not.
Example code, the first section (with clear) will not execute because of errors in the code below that.
%% (c) C.M.G. van Leuken, W.L. van de Groep, R.G.P. Ritzen
% Fontys University of Applied Sciences, Mechanical Engineering
% (Fontys Hogeschool Engineering, opleiding Werktuigbouwkunde)
clear all close all clc
%% EXERCISE 3-1 (OPDRACHT 3-1)
% Write down the code to make plots of the V-line (equation 3-9) and M-line (equation 3.10) as a function
% of x.
% (Maak hieronder de plotjes van de D-lijn (vergelijking 3-9) en M-lijn (vergelijking 3-10) als
% functie van x.)
dx = ... % step size (stap grootte)
x1 = ... % first interval (eerste interval)
x2 = ... % second interval (tweede interval)
x3 = ... % third interval (derde interval)
x = [x1 x2 x3]; % combining the intervals (samenvoegen van de intervallen)
D1 = ...
D2 = ...
D3 = ...
D = ... % V-line (D-lijn)
M1 = ...
M2 = ...
M3 = ...
M = ... % M-line (M-lijn)
2 commentaires
Réponse acceptée
Image Analyst
le 11 Oct 2018
You can highlight the lines of code that are "good/valid" and type the F9 key.
This will always work regardless if there are syntax errors with the other lines.
10 commentaires
Sergio Waitman
le 21 Oct 2021
I believe people are complaining of the fact that, previously, one could provide students with a code such as the following (VERY simple example):
%% System matrices
A = [-1 2; 0 -2];
B = [0; 1];
C = [1 0];
D = 0;
sys_ol = ss(A,B,C,D);
%% Select appropriate poles for pole placement
xi = ;
w = ;
lambda = roots([1 2*xi*w w^2]);
K = place(A,B,lambda);
%% Write the state-space representation of the closed-loop system
Ak = ;
Bk = ;
Ck = ;
Dk = ;
sys_cl = ss(Ak,Bk,Ck,Dk);
The students would be able to modify and run each section as they go along during a lab, for example. As the run section functionality is working now, this is impossible. I believe this is why @Marilee Nugent is saying that this will cost valuable time, as virtually ALL code given to students will need to be updated to remove syntax errors. And by updated I mean adding a dummy value, which will make it less clear for the students which rows are "correct" and which are still to be done.
Finally, the feature that @Travis Briles refers to is exactly this new implementation of the run section functionality that checks for code syntax errors. And I agree that I do not see its usefulness, as when I am running a given section I don't care about syntax errors down below. Sometimes I am in the middle of writing a new line of code and need to check the result of a piece of code a bit further up, but as it turns out I cannot run that section because I did not finish to write the new line of code that is 100 lines below and has absolutely no impact on the section I am trying to run.
And I know about F9, but this is not as clean and practical as just running an entire section, which is also good for didactical reasons... Anyway, just thought I would clarify the issue and add my voice to the complaints :)
Niklas
le 13 Mar 2024
As of March 2024, this seems to be the accepted answer, but I still have trouble running only one section in MATLB 2020b when there are syntax errors in other sections. Is there any advancement on this problem?
Plus de réponses (4)
Adam Campos
le 4 Juin 2023
Modifié(e) : Adam Campos
le 4 Juin 2023
To clarify, my issue is with the Live Scripts - I'm not sure I understand what the point of 'Run Section' is if it picks up syntax errors in other sections and doesn't run the given section. I have hundreds of scripts with similar type of temporary filler for variables, I know and understand that there are syntax issues because it has temporary filler in the other sections, but this is pretty burdensome that I have to inspect the whole script fix all the errors just to get started. I fully expect an error if I chose 'Run', but not 'Run Section'
Jupyter Notebooks let you run a section and leave the rest for development, which is what I was expecting.
2 commentaires
Niklas
le 13 Mar 2024
I have exactly the same problem and am seriously considering of rewriting everything in Python Jupyter Notebooks.
Adam Campos
le 16 Mar 2024
If you have to transition them I did bulk find and replace in a text editor, like VS Code and converted them over....I know this doesn't solve your problem, but easier than trying to fix scripts directly within MATLAB.
Stephen Ofori
le 18 Oct 2023
Hi Kindly insert ‘Section break’ at the various sections you want to run separately. Go to Live Editor Tab > Section > Section Break
0 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!