How can I run a section when there are still errors present in other sections?
조회 수: 22 (최근 30일)
이전 댓글 표시
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
채택된 답변
Image Analyst
2018년 10월 11일
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
Sergio Waitman
2021년 10월 21일
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
2024년 3월 13일
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?
추가 답변 (4개)
Adam Campos
2023년 6월 4일
편집: Adam Campos
2023년 6월 4일
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
Niklas
2024년 3월 13일
I have exactly the same problem and am seriously considering of rewriting everything in Python Jupyter Notebooks.
Adam Campos
2024년 3월 16일
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
2023년 10월 18일
Hi Kindly insert ‘Section break’ at the various sections you want to run separately. Go to Live Editor Tab > Section > Section Break
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Particle & Nuclear Physics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!