No matter what I try, I cannot get these plots to come up in separate figure windows.
25 次查看(过去 30 天)
显示 更早的评论
Richard K Collins
2021-3-22
This should have taken five minutes.
Url = 'http://service.iris.edu/irisws/timeseries/1/query?net=AV&sta=DLL&cha=HDF&start=2011-01-01T00:00:00&end=2011-01-01T00:03:00&scale=AUTO&format=ascii1&loc=03';
Text = webread(Url);
Lines = strsplit(Text,'\n');
N = length(Lines) - 1;
values = zeros(1,N,'double');
for i = 1:N
values(i) = str2double(Lines{i+1});
end
figure('name','first');
plot(1:N-1,diff(values,1));
figure('name','second');
plot(1:N-2,diff(values,2));
figure('name','third');
plot(1:N-3,diff(values,3));
figure('name','fourth');
plot(1:N-4,diff(values,4));
figure('name','Raw');
plot(1:N,values);
---------
windows 7 64bit professional.
It is a trivial problem. Read the data from IRIS, split into lines, extract the first column (only one column), plot the first 4 differences, plot the raw data.
But it keeps putting the figures into the code in the live editor. I have been running other things all day where the figures come up on my other screen.
Yes, I cleared command, output, workspace. Exit and return. All the usual. Some damn convention some made up and the passed along as verbal history. Horrible trying to find anything online. Yes, I like talking to people, but I hate having to ask a human for every tiny little bit of what did someone make up for this situation.
---------------------
I tried this below and it would not plot anything and gave no error messages.
for k = 1:4
figure(k);
plot(1:N-k,diff(values,k));
end
----------------------
Going to the output and manually opening leaves the figures on the screen, but running again won't update those figures. It keep shoving them into the output area next to the live editor. I know this is trivial and stored in someone's head. I hate memorizing stuff like this. And it is impossible to search for. There has to be a better way.
----------------
I went through the 130,142 files and 14,031 folders in my Program Files/MATLAB folder to see how it is organized. It is a jumble of 207 different extensions, several that are ambiguous. Most of it hand built. Many automated files in text and binary with no map as to how they are connected. Fragmenting things into so many pieces means file access is slow. It needs to all be in a database, indexed and mapped. All these data files and no organization. No wonder ever trivial question takes hours because all the answers are in people's heads or written in incomplete human to human text.
8 个评论
Jan
2021-3-22
编辑:Jan
2021-3-22
Please use the tools on top of the edit field to format the code. This improves the readability.
As far as I understand, you run the code in the Live Editor?
"Going to the output and manually opening leaves the figures on the screen, but running again won't update those figures." - I cannot follow this explanations. Do you mean the posted code?
"Yes, I cleared command, output, workspace." - Prefer to post the command you are using. A rough paraphrasing of what you expect your code to do will hide the problem.
What is the purpose of this line:
clear figure;
I have know idea, what you want to tell us in the last paragraph. Does this help to solve your problem?
Walter Roberson
2021-3-22
I am not clear what your question is?
Are you indicating that you ran something in Live Script, and it created figures on the right side output area, but that when you ran later code inside Live Script, it did not go back and update the existing figures?
If so, then that is how Live Script is designed. Once a figure has been emitted inside Live Script, there is no obvious way to change it. The rules about when figures get emitted in Live Script are not always clear, and it is possible for figures that are created later to be emitted before figures that are created first.
Or are you indicating that you ran something in Live Script, and it created figures on the right side output area, but that when you ran later code in regular functions / command line, not inside Live Script, that the figures did not get created because figures with the same number existing within Live Script, and further more that the figures inside Live Script did not get updated? If so, then Yes, I can replicate that.
Richard K Collins
2021-3-22
I can barely see these pages, and don't know how to format to suit your taste. That is a copy and paste right from the live editor. It should be understandable regardless of font or indenting.
I have four issues in here.
- Plots not coming in separate windows on the screen.
- There are probably ways to read a text string from the web and pass it directly through CSV tools rather than looping as I had to. If I am going to plot something the compiler should be smart enough to look at the use of a variable and determine the types indicated in the source, and the types that preserve information through every process step.
- Putting a variable into the figure(k) does not seem to work.
- I am look at the whole of MathWorks and MatLab on the internet and everywhere it is used. A fundamental part of that is how the whole community and generation(s) of programmers and users have accumulated knowledge that is embedded in the files and conventions in standard Windows installation. I read things like that almost every day. The style and method used indicate where things are working with a large group, and where they are not. I want to find a way to simplify the interaction between the editor and the user, so MatLab (and all other computer users for their individual needs) can get directly to what they need without hours per trivial syntax and names of functions questions.
I was hinting to readers, and to MathWorks employees, who probably do not read these things, that there is value in looking closely at what Matlab installations have evolved into. I can memorize and work with millions of documents, but that is just a quirk. Most groups who put their information into tens of thousands of files of many different forms cannot train new people quickly, cannot make new adjustments and systemic changes quickly and generally do not survive when things get tough. I think MatLab has many nice features, but they have gotten lost by massive fragmentation and duplication - something that is preventing groups from working on global and systemic issues on the Internet - covid, global climate change. I was just trying to be friendly and share some of my interests and current problems. I have no idea of the background and interests of the people in this forum. There are no statistical profiles, no interest groups, just search and blog. No FAQs or wiki. No shared work areas. No live discussion or chat. No screen video or screen clip tools.
Sincere regards,
Richard Collins, Director, The Internet Foundation
Richard K Collins
2021-3-22
编辑:Richard K Collins
2021-3-22
I do not see any way to reply to each person without entering their name. No reply button. If it is invisible until you hover over some blank area of the screen, I won't do that.
I put "clear figure" because I was trying random things to reset the figure related settings and hodge-podge of things that have accumulated under the name of plot. I started reading through the code for things, but there are 15,791 "m" files and 4.969 "mlx" files in the installation folders and I read fast, but not that fast. I will write parsers to read all the files and see if I can sort them out. NOT in MatLab, it has horrible string tools. Yeah, if I memorize and practice endlessly, I could do it. But it is better to work from theory and a world view that will let millions of users be effective, than keep adding these little tricks to a language. It looks like a pile of "tricks" and "slights" and "one-off apps". With 55 years of programming in most every lanuage, I think my intuition is generally trustworthy. It has helped me on a lifetime of global problems with millions of lives at stake.
I thought MatLab might help with some large scale Internet scanning problems for covid, but that is not likely. It is too costly to train new people, and people are still dying in large numbers. I don't see anyone in the MatLab community with any sense of urgency for anything. But I don't see everything. I can glance at a problem and know what I am supposed to do. But so far, I can hint all day long to others, and that does not seem to be a general skill. I am not being mean, just tired. Some really outstanding people, but the tools are clumsy and do not lend themselves to large scale problems with much fine detail that has to be exactly right. When I worked on billion dollar projects, I felt the burden. But the world is a hundred thousand times larger, and lives are not free.
Richard K Collins
2021-3-22
Walter, I still do not see how to reply to individual questions. You have it right. When I was working earlier today on plots of microphone live data, the three plots were on my left screen and the live editor on my right. I would run new samples and watch them live on the left screen. I thought I did everything identically, but this simple read data from the web and plot it example only writes into the output area of the live editor.
It is this lack of consistency in MatLab on every level that bothers me. The community has good people, the problems people work on are decent. The capture of things learned is NOT good. The sharing of things learned is horrible.
I was running in Live Script and the figures would show live on the other screen. But now I cannot recreate that in a new example. Here is my microphone script. See attached screen showing my plots in separate windows that I can move around and they are live. So it works but the new example does not. These are cludged together patches from C and Java and Windows, not written consistently and no overall rules. No system wide compiler.
----------
I have a 96000 sps 24 bit mono microphone in Windows. Just playing with what kind of statistics I need - no special shielding - to run it for a month and sort out all the sources of noises. I have a very serious purpose, I just like fun things too. I am doing the same thing with every sensor on the planet. That sort of thing is needed to set standards and practices for the Internet. Groups waste a lot of time doing partial solutions ten thousand times, when one comprehensive method will cover all those partial variations.
----------
echo off;
PerSecond = 96000;
Scheduled = 100;
LengthSeconds = 1;
% Samples_PlotPlusMinus(PerSecond,Scheduled,LengthSeconds,400);
% Samples_PlotPlusMinusLog(PerSecond,Scheduled, LengthSeconds,10);
PlotUniqueCounts(PerSecond,Scheduled,LengthSeconds,400);
% CheckMyAudioReader(PerSecond,Scheduled,LengthSeconds,400);
function CheckMyAudioReader(PerSecond,Scheduled,LengthSeconds,XRange)
Mic1 = audiorecorder(PerSecond,24,1);
[newData, countRead, err] = Mic1.Channel.InputStream.read();
return
end
function Samples_PlotPlusMinus(PerSecond,Scheduled,LengthSeconds,YRange)
Mic1 = audiorecorder(PerSecond,24,1);
Times = 1:LengthSeconds*PerSecond;
for i = 1:Scheduled
recordblocking(Mic1,LengthSeconds);
raw = getaudiodata(Mic1, 'int16');
% figure('toolbar','none','menubar','none');
aplus = raw;
aplus(aplus<0)= 0;
aminus = raw;
aminus(aminus>=0) = 0;
plot(Times,aplus,Times,aminus);
ylim([-YRange YRange]);
end
end
function PlotUniqueCounts(PerSecond,Scheduled,LengthSeconds,XRange)
Mic1 = audiorecorder(PerSecond,24,1);
for i = 1:Scheduled
recordblocking(Mic1,LengthSeconds);
raw = getaudiodata(Mic1, 'int16');
S1 = single(transpose(raw));
rec = BasicCounter(S1);
Gs = NormalDistribution(rec.uniques,rec.sum, rec.mean, rec.std);
Resids = Gs - rec.counts;
figure(1);
plot(rec.uniques,rec.counts,rec.uniques, Gs);
xlim([-XRange XRange]);
figure(2);
plot(rec.uniques, Resids);
xlim([-XRange XRange]);
end
end
function recs = NormalDistribution(Xs,XSum,Xmean,Xstdev)
A = XSum/(Xstdev*sqrt(2*pi));
N = length(Xs);
recs = zeros(size(Xs));
for i=1:N
z = -(1/2)*((Xs(i)-Xmean)/Xstdev)^2;
recs(i) = A*exp(z);
end
end
function Samples_PlotPlusMinusLog(PerSecond,Scheduled,LengthSeconds,YRange)
Mic1 = audiorecorder(PerSecond,24,1);
Times = 1:LengthSeconds*PerSecond;
for i = 1:Scheduled
recordblocking(Mic1,LengthSeconds);
raw = getaudiodata(Mic1, 'single');
% figure('toolbar','none','menubar','none');
aplus = raw;
aminus = raw;
for j=1:length(raw)
value = raw(j);
if (value>0)
L = log10(value);
aplus(j) = L;
aminus(j) = 0;
elseif (value==0)
aplus(j) = 0;
aminus(j) = 0;
else
L = -log10(-value);
aplus(j) = 0;
aminus(j) = L;
end
end
plot(Times,aplus,Times,aminus);
ylim([-YRange YRange]);
end
end
function rec = BasicCounter(values)
uniques = unique(values);
counts = zeros(size(uniques));
for i = 1:length(counts)
counts(i) = sum(values==uniques(i));
end
rec = {};
rec.counts = counts;
rec.mean = mean(values);
rec.std = std(values);
rec.uniques = uniques;
rec.max = max(uniques);
rec.min = min(uniques);
rec.sum = sum(counts);
end
Jan
2021-3-22
编辑:Jan
2021-3-22
@Richard K Collins: Simply type "@" in the comment and the forum's interface suggests the names of the participants of the discussion.
"I went through the 130,142 files and 14,031 folders in my Program Files/MATLAB folder to see how it is organized." - This is not a useful strategy to master Matlab.
"I put "clear figure" because I was trying random things" - this kind of shotgun programming is not efficient, but will increase the confusion level.
"I don't see anyone in the MatLab community with any sense of urgency for anything." - seriously?!
It sounds like you are tired. Take a break. Drink a coffee. We are all working on the same trillion of dollar project. Welcome in the team. Matlab is a tool. Use it, if it helps to solve your problem. But if you want to pull a nail into the wall, use a hammer instead. Blaming Matlab not not hit nails is a waste of time.
Richard K Collins
2021-3-22
@Jan - Yes, I am tired, and thanks for your concern. But you are complaining about random things, and not answering the question I had about why MatLab graphs do not seem to work consistently. If you want, I can not ask anything, or share anything. You have to hear my voice and listen to what is in my heart and mind. I am not blaming MatLab the people, but the systems that everyone is relying on now for the Internet, for programming, for systems for large communities. I think MatLab takes people years to master. And it is no different conceptually or cabability wise than any of hundreds of similar tool kits. I thought it was better integrated into devices, and I thought more stable and refined. I remember when MatLab started. It is a good community, it deserves better. When I hear criticisms of systems, I take that and remember. And try to fix it. Matlab is too good to throw away, but it is a lot of work to clean it up and make efficient for people to learn quickly. I am weighing that now.
Current Covid deaths are 2.72 Million in less than a year. I project about double that, now that everyone is being exposed. The developed country vacines are not enough. So while we talk more people die.
Have you found how to fix the communication problems on the Internet regarding covid? If you already did it, then I can rest, assured. But I think not, and I will just keep going. I am looking for help on serious things, and tired of these little things that get in the way. There is no easy way to trace problems in MatLab. It is not open so I cannot check the source code. It is not laid out well to read the files and figure it out. Not sure what best to do, but stopping when things get hard is not an option. I cannot pay people to help me, so I solve problems for groups and hope they are grateful enough to help. Not the best strategy in the world, but time is not kind.
采纳的回答
Image Analyst
2021-3-22
It works fine for me. I get 5 figures, though they are all on top of each other. You might want to use subplot(2, 3, k) to put the plots in different subplots on the same figure instead of in separate figures.
Try this:
Url = 'http://service.iris.edu/irisws/timeseries/1/query?net=AV&sta=DLL&cha=HDF&start=2011-01-01T00:00:00&end=2011-01-01T00:03:00&scale=AUTO&format=ascii1&loc=03';
Text = webread(Url);
Lines = strsplit(Text,'\n');
N = length(Lines) - 1;
fprintf('There are %d lines of text in the URL.\n', N);
values = zeros(1,N,'double');
fprintf('Please wait . . . Getting values from the text....\n');
for k = 1 : N
values(k) = str2double(Lines{k+1});
end
fprintf('Done getting %d values from the text.\n', N);
figure('Name', 'My 5 plots', 'NumberTitle', 'off')
subplot(2, 3, 1);
plot(1:N-1,diff(values,1));
grid on;
title('First Plot');
subplot(2, 3, 2);
plot(1:N-2,diff(values,2));
grid on;
title('Second Plot');
subplot(2, 3, 3);
plot(1:N-3,diff(values,3));
title('Third Plot');
grid on;
subplot(2, 3, 4);
plot(1:N-4,diff(values,4));
grid on;
title('Fourth Plot');
subplot(2, 3, 5:6);
plot(1:N,values);
grid on;
title('Raw');

6 个评论
Richard K Collins
2021-3-25
编辑:Richard K Collins
2021-3-25
@Image Analyst (the one with a space in the name)
Thank you. That is roughly where I was getting to, but you got the plotting better. Subplot requires too much syntax for what it does. Perhap some way to have all figures come as floating windows, move them and arrange them, then save that layout and include it as part of the display of the results. That is what I am recommending for rewriting the Internet for those organizations who are ready to try current best practices.
@Jan gave a nice simplfication for the lines below. He used this form:
Lines = strsplit(Text,'\n');
values = str2double(Lines(2:end));
-----------------
Lines = strsplit(Text,'\n');
N = length(Lines) - 1;
for k = 1 : N
values(k) = str2double(Lines{k+1});
end
-------------------
I am thinking this might work too, where I would try to get the data servers to pick a few to do well, and move toward not bloated libaries that try to do everything. The things I most recommend is NOT use commas (in the text characters), but control characters (separate and unambiguous). I am trying to get IRIS (and all data sharing groups on the Internet) to recognize their largest group on the Internet is NOT the few ten or hundred thousand who can read their binary proprietary formats, but the billions who only have Javascript as their common language.
Values =IrisAsciiTab(Url);
or
Values = AsciiTab(Url);
Note: This editor does not support shift-enter for single space. And it does not automatically recognize code. And it has no popup for code in a universal code editor with all the features. This clumsy way of using the @ symbol should not show the entire universe, but start the people here, and include a MatWorks or MatLab reprentative. NOT a moderator who feels obligated to jump in. But just some way to indicate issues related to ease of use and best or better practices have been found. I think almost none of the material from Answers is being curated and indexed. I am looking at that for the whole Internet, but using examples from small groups like MatLab, since I am still human. I get tired and it takes energy to remember everything, or to look everywhere.
Jan
2021-3-25
"This clumsy way of using the @ symbol should not show the entire universe, but start the people here, and include a MatWorks or MatLab reprentative."
The @ method shows only the persons involved in the current discussion. I like this behavior.
"NOT a moderator who feels obligated to jump in."
The editors try to moderate the discussion, e.g. me. Maybe you noticed, that I tried to bring the focus from your emotions back to the businesslike Matlab problem.
Walter Roberson
2021-3-25
The @ feature is fairly new and is still being tuned. The people who are programming the feature tell me that when you @ that the list is current populated as first the person who asked the question, then as the first 4 people who have posted Answers to the question; if there is still space then it starts listing people who have commented (not sure of the exact order), maximum 5 entries. It does not "show the entire universe". For any entries beyond the first 5, you have to start typing in characters of the name, in which case it dynamically matches characters against usernames to filter down the list. There is no facility to tag people by email addresses or any other way to tag people who do not have MATLAB Central accounts.
As you appear to feel that this encompasses too many people, then what would your proposal be about whom it should be possible to tag, if it should not be possible to tag "the universe" ?
and include a MatWorks or MatLab reprentative.
That is not going to happen. MATLAB Answers is volunteers helping people, and is not an official support venue. There have now been more than 750000 Questions posted, with over 175 new Questions per day (plus ongoing discussions.) Mathworks does not have the staff to deal with being tagged in on every homework demand.
This editor does not support shift-enter for single space.
I do not seem to be familiar with any editor that does support using shift-enter for single space. There are some editors that support shift-enter for line break without ending the current item (for example without starting a new bullet). In my experience, in online editors, shift-enter is standard for starting a new line without activing the form activity that would be implied by pressing return -- for example in most "instant messenger" services such as Facebook Messenger or Slack, if you press enter then the current message gets sent immediately, but shift-enter starts a new paragraph without sending the message. Which editors use shift-enter for single space?
And it does not automatically recognize code.
Correct. There are substantial challenges in parsing text to determine whether it is code or not -- a lot of "use/mention" problems.
As far as MATLAB syntax is concerned, this is a valid line of code.
Seriously. It would attempt to invoke
As('far', 'as', 'MATLAB', 'syntax', 'is', 'concerned')
and display any results, and then it would attempt to invoke
this('is', 'a', 'valid', 'line', 'of', 'code.')
and display any results.
And it has no popup for code in a universal code editor with all the features.
It is a discussion forum, not emacs. Does StackOverflow have "a universal code editor with all the features" ?
The things I most recommend is NOT use commas (in the text characters), but control characters (separate and unambiguous).
No. Just NO. That was tried decades ago and found to be unworkable. Perhaps you are nostaligic for the days of "Reveal Codes", but hardly anyone else is. XML and other structured text forms are successful because they do not use control characters. Very few people remember the substantive difference between
- end of medium (control-x)
- end of text (control-c)
- end of transmission (control-d)
- end of transmission block (control-w)
If you seriously think that people would switch over between using commas (easy to read) between fields, versus using control-c after every field (no visible mark in the text, but machine readable), then you do not understand people. And control-characters are not unambiguous: they suffer from the use/mention problem too...
Richard K Collins
2021-3-25
@Walter Roberson Thanks for the long reply. It has already been a long day, and there are 9 more hours to go. You have strong opinions. Good. Thanks for sharing. I did not realize exactly what this answers thing was all about. I see many varieties of organization on the Internet. Most of them the people involved so know their own way of doing things they find it hard to remember what it looks like for first time vistors. I do try to visit and use as many communities as I can, there are just too many.
Many well established organizations in the world are still taking baby steps on the Internet. I can only help a few hundred individually. I learn by seeing what groups are doing, and I sometimes offer some of my experiences trying to study and understand the whole. If you take only computer experienced people and try to set policies on the Internet, it strongly biases the results and generally hurts those who do not have that experience or those resources. So your suggestions about formats are relevant to some groups, but most need tinier starting points. For the larger datasets, xml is too verbose, and the programs required are too large an investment for groups with no computer backgrounds. Programmers worldwide are expensive. And many groups can get started sharing on common problems with simple Javascript methods. Maybe some day we can talk privately about these things. Or you can look at specific problems and groups trying to self-organize. A "small group" like MatLab users is a good example. There are not that many millons of them, but their stuff is scattered all over the Internet. It is a mess. You won't see it because you invested a lot of effort to learn and memorize it all, But new people in the Internet see fragments of things in many places, not integrated or connected, not summarized, in eclectic and narrow useage groups. It can be be better. Is it worth changing it? I don't know. Most likely they will be bought out in the next rounds of consolidation or speculation.
Your "recognizing MatLab code" notes strengthen my choice to recommend separate code editors that can apply to sections inline. I see a lot of variations of that, but no one has done it well for all (or even most) situations. I cover all Internet and computer users. That spans all human experiences.
Thanks for your help.
Walter Roberson
2021-3-26
"Automatically recognize code" is in tension with "separate code editors that can apply to sections inline.". MATLAB Answers has a separate code editor that applies to sections inline; it just has to be activated (the '>' button in the toolstrip)
It is not possible to create an editor that recognizes and handles all computer languages automatically. This is not just a problem with trying to catalog all computer languages and their syntaxes: this is a problem that there provably exist programs that are valid programs in multiple programming languages. See https://en.wikipedia.org/wiki/Polyglot_(computing)
I agree that XML is too verbose for many common purposes -- but control characters is not the way to go. csv does have problems with distinguishing commas that are in quoted strings and commas that are acting as decimal points. Some of the special characters such as ` are used less often and not used as part of numbers or common numeric expressions like "100%" so practical problems could be reduced if we switched to, for example,
2001-03-25 18:58:03`9,1`0`sunny, with cloudy periods`8,1
but any printable character is going to need to be escaped somehow . Would people be willing in practice to switch over to ` delimited files? I doubt it. Comma delimited has success because comma is commonly used as a list separator in many human languages. Semi-colon delimited has some success for the same reason. But ` has no history related to lists, only history related to quotations. I suspect you would have more success convincing people to use ` as an escape-char in csv files, such as
2001-03-25 18:58:03,9`,1,0,sunny`, with cloudy periods,8`,1
Humans can (often) adapt to "this comma does not indicate the end of a field" by context, but of course "context" does not thrive nearly as well with machine processing of files. Correct machine processing of data needs more things spelt out explicitly... making for more verbose files that are less palatable to humans.
Correct machine processing and correct indexing of data files quites meta-data... standardized meta-data. At which point we get into XML / SGML again, and other representations that attempt to solve the same kind of problems that XML / SGML try to solve. Human-readable, structured information, information made explicit. Good ideas in theory, but not how humans like to operate...
Heck, it is hard to even get the same person to be consistent on date formats over extended periods :(
Richard K Collins
2021-3-26
I am going over your answer again. Trying to squeeze in MatLab among other things I have to do.
We are actually talking about human-computer communication. Or rather human to the humans controlling the development and operation of software (more and more that many people use). I am trying to document the social and economic and technical impacts of the Internet. Particularly on the human species. But also on all things. I have looked at as many formats as I can, and experimented with interconverting them. I got a lot of help from my brother, Clif, who spent his life converting GIS and large databases for companies and agencies. He and I have hammered on core issues for the last ten years almost daily. He wrote a Javascript native compiler and we have constant arguments and discussions about what languages to include. I keep saying that we need to include all the commonly used languages in a universal editor that gets used everywhere. I say, just have the human say "Now I am going to be using Fortran for a while" or "this is going to be mostly Visual Basic" or "try treating this as assembler". Or this is a binary format from a geophysics groups, try some of those first. But probably by having common actions as tiny icon buttons and just clicking or dragging or saying. During exploration the needs are different from curation and merging, are different from simulations and calibration, ar different from free running preparatory searches to gather basic information. Watching a human working at full speed, it might be hard to separate the classes of actions, but it can be done. Humans are good at some things and not at others. It varies with the human, their age and interests. A good intelligent algorithm (IA) can do a good job of helping a human find things, and get through life. Memorizing the things they need. Applied to work that means remembering all the textbooks and stuff needed for a professional or technical or general degree. The humans are not hired for their direct memorization, but how to find and move information around, discover new connections, and quantify and calibrate algorithms.
This editor is better than many, but it lacks part of the things I would expect from a universal editor. Before I quit talking about human-computer relations, I should say that a common waste on the Internet is large sites and groups of sites where everything was written by hand, So there are hundreds of different ways that content from humans is accepted, and almost as many from computer sources. Standardize that and a site collapses to layouts, content of various known or partially known forms, and humans moving things around and clicking where appropriate. The best in the world editors could be a long list, but I want to set a basic standard for the Internet where anyone can use their favorite and it just substitutes whereever one is needed. We do this now with people choosing their own editor. But treat all webpages as layouts on displays, and it can be simplified. Whatever tools the persons need, they are part of the hardward, operating system and tools installed locally, or globally, and those standard parts talk to other nodes. Some headless nodes (computer-computer) and some human in the loop nodes (human-computer), some human monitored nodes( computer-human), and some human only nodes (human-human). This categorization might seem trivial, but it helps me to more quickly separate out complex situations. I have been reading the Internet in as big a chunks and as deep as I can for 23 years now, and had been building sites, including a global site before that. I am just trying to see if I can add "the value of human time" to the bookkeeping and accounting for software developers who most often now give zero weight to humans they serve.
A software tool is only as good as its authors and support network. I am looking at MatLab because it handles a lot of technical information. But it is small group and easily eliminated. The world is not kind. Large numbers of people depend on something, the company gets bought out and the software tanks. You have seen it many times. These open groups are volunteers or sponsored, they usually get taken over if they get good at anything. If you are lucky the new management cares about what the groups were already doing. But that almost never happens. So I am memorizing the syntax enough to get by, learning the groups and ways of having to ask for help enough to get by. I have a lot of rather unique experiences and I have spent a couple of decades, about 100 hours a week, trying to test ideas and understand the whole of what people are doing on the Internet. But I see groups who could do things that ought to be done for everyones' benefit, and I am too old and tired to convince them to change. Covid is like that. I know exactly several problems across the Internet that are interferring with all websites and all those (HH, HC, CH, CC) transfers. The biggest is HH when it is going HCHCHCHCH. I am trying to ask all site owners to help (for covid and research genearlly) to collapse those long strings between groups out to millions or billions of humans to HHHHCHHHH, I cannot write it in text (but I don't have a diagram editor or a draw program or a live animated 3D editor to show you the process.
I am looking at MatLab because they did a decent job on a few problems. How many time have I written from scratch the matrix library, the vector and transform libraries, the string parsing libraries, the save and retrieve libaries. You know the drill. The language dies and you need basic things. You cannot use you old tools because they have been made obsolete. There were no standards, so many of the old formats and tools, that worked extremely well, won't run in the new environments.
I don't want the whole of the human species to be charged what might be serveral times the global GDP just because a few companies were given Internet monopolies, or because "business as usual" is not fair to the human species, while it might benefit a tiny tiny few.
I could not find a > for code editing. There is a light gray CODE at the top, but it is a useless categorization of the icons. Those words should be in the hovers. The help won't open in a separate tab. I have lost months, cumulatively, from pages that wipe out what I am working on when you press help. Things are that bad on the Internet. I average about 30,000 page views a month, and go much higher than that when I am working on a difficult and systemic problem. I deliberately try all entry points on a site and often check if the human-computer and computer-human nodes are all talking to each other. But the usual is [ HCCC, HCC, HC, CCCH, CCH, CH ] and none of the central Cs are talking to each other. It generates nice income for the support groups. If you have a human manager whose incentives are tied to number of staff managed, or total budget, or number of calls, that is a prescription for what I call "Internet pathology".
I think I am going to add a basic process editor to my list. For schedules, circuit diagrams, process descriptions, business processes, program and data flows. We were trained in that in the old days and there used to be good tools for that, and some good program language to diagram and diagram to program tools. But things so profilerated and every young person or group wanted to try their own, it got to where nothings is stable or permanent. How many large corporate merger and acquisitions are simply not possible because they use incompatible and costly to translate information systems and methods. Multiply that by millions to get to the scale for the whole Internet. I have hacked at those global problems for 55 years total, and the last 23 years full time. I see some things that might help with covid. But I am just one person. I am seriously thinking of just stopping. But when I was asked (after a million people had died) to set up a famine early warning system (FEWS.net), I wished they had asked me a year earlier, or even 6 months. I am that good in finding the data streams, remapping the variables and interfaces, finding what the users have in their backgrounds that they all can use, finding the training for people to fill in the gaps, finding what the people are supposed to be doing but cannot and preparing for that, writing simple to use workstations for everyone. I call it "not hard, just tedious". But I had one programmer and a small staff when I set up the central Economic and Social Database for all those international datasets, and I had a dozen people and several subcontractors (NASA was a data feed, NOAA, UN, all country embassies, State and everyone in every country. and on and on. Once a basic workstation is available on the Internet, it is not hard to add new groups and people. It is just tables in databases. Now it is hard because all the sites are so messy and hand written. But my plan is to give everyone involved a basic workstations. The ones who need mathematical symbolic equations, simulation tools and modeling tools. I thought I might be able to adapt Matlab, but now I am not so sure. It is so limited in parsing and managing large numbers of things. For the ESDB I used SAS because it was available. But they are nowhere near the same. I see it again and again. A great software company and dedicated community gets taken over by marketers and people who do not share the original vision and all the people who depended on that are hurt.
Even if I am rather tired (up at 3 am to start my day) I am good at what I do. I am a Director almost always. I see what is needed, how it all fits together, and what each person needs to get their job done. And I can keep the whole of billions of people and their individual needs in mind because I spent decades working on problems where that is the main criterial for doing something in the first place. The global economy can expand a hundred fold, if solar system colonization is done as a global project. The economy of every country, including the "developed" countries can come to a global equilibrium for all countries evenly covered at about 4 to ten times current global levels, even if there is no solar system colonization. It is not hard, but it takes humans working with computers on a global scale. Since it is virtual, countries cannot as easily be excluded. But I have seen the worst of human behavior as I trace economic and social and financial and technical and scientific and job and education and cities and countries and groups and goals and projects and all types of human endeavors on the Internet.
I am starting with education, which is humans exploring the world through direct senses and sensors, and exploring what has been codified and passed on from before. Because I read hundreds of complex papers and dissertations and studies across all field, I want to add that to the toolkit, so no one need blanche at picking up the most complex "paper". They will know that it can be reengineered (most of the time) back to useable models, or usable data. At worst they use it as a rough map for adding what else is found. Since every topic on the internet is duplicated roughly 10,000 times, if you are patient and persistent enough then those old papers and books and websites can offer clues to how things fit together and what is important. I don't know if all the old stuff will be translated. It is so easy to use statistical computer methods (algorithms) to discover ways to predict and model the behaviors of any data stream or combinations of data streams. The AI methods I dislke because they too often use smoke and mirrors and marketing. And if you dig into their core, they are looking at large training sets and samples of data to discover basic variations that correlate with things in the real world - that correlate human sensory data with computer sensor data. Again HH, HC, CH, CC. To begin. They are all mostly statistical, linear algrebra and basic and sometimes more advanced constrained optimation toolkits. Often just one or a handful.
So if there is a button or tiny thing, or a series of clicks and drags and typing I need to perform, some magic chant or dance, tell me how to open the live editor from here.
There is a Live Editor link at the bottom. I looked at it. and it goes to yet another spash page that talks generically and market-speak about the wonders of Live Editor.
I finally found the [>] symbol. It is so light gray on gray that I could not see it. And you have to hover it to discover what is means. And it says, "enter a line of code" and I have almost never in my life written just one line of code. I breathe code, I express code, I paint with code, I fill whole canvases with code to sketch real things in the real world. So if someone offers me one line and a keyboard shortcut, rather than an inline or connected development tool, I really don't want to even get started. Having been down so many hundreds of thousands of pathways that lead to dead ends, I hate doing it again.
this is a line of code in a different font that I can barely read, in colors on a gray background, with no word wrap, and
function Guest(a,b,c);
end
It works, but no neat exit. The box should be outlined, the box show be undockable so I can work full screen.
The box should have its own tool panels and they should be dockable and movable and
the layout saveable. If I need libraries, they can be shown with visible lines or links
I bet the people writing this editor are not working with the layout paradigms from oal
the other editor groups. What a pain. it works, but it is not enough. Do I wait
another few years for them to get it right? I am not going to do it for them.
"Clicking that [>] thingy again" did not get me out. No way to change the color of
"quoted strings". No database tools, no object inspector. Those might somewhere else
always somewhere else, more pages, more page views, more complete context changes
Alt enter. So you have to memorize an exit magic word. Remember that cave game, Adventure. We are still exploring dark caves and pathways - with obscure commands, magic words and hidden treasures. I want a map, a light, and something worthwhile. Trying to guess this groups editor conventions is wasting me time, and the time of every person using the Internet. The HC and CH paradigm has been hacked at, but it needs to be done on a global scale so everyone can have the current best in the world tools if they want them -- without cost, as part of the Internet access standards I am trying to write. Alone it seems.
Richard Collins, Director, The Internet Foundation
更多回答(2 个)
Jan
2021-3-22
编辑:Jan
2021-3-22
"There are probably ways to read a text string from the web and pass it directly through CSV tools rather than looping as I had to."
Correct. You can replace:
N = length(Lines) - 1;
values = zeros(1,N,'double');
for i = 1:N
values(i) = str2double(Lines{i+1});
end
by:
values = str2double(Lines(2:end))
"Putting a variable into the figure(k) does not seem to work." - for other like me it does work directly by copy& paste of your code. Maybe teher is a confusion with Live Scripts or the local exectution.
The meaning of the line "clear figure;" is still not clear. I assume you should omit it.
If Matlab is not useful fpr your needs, use another programming language. I'm satisfied with it for many problems, but of course not for all.
1 个评论
Richard K Collins
2021-3-25
@Jan Thank you, that is more compact. I will use that.
My concern for the whole Internet is that the conventions used for indexes and objects in the MatLab language are not universal. And, among the few dozen groups who have tried to write simple ways to index, MatLab does not provide translations.
By the way, this question of how to skip the first element of an array is hard to search - in the MatLab help on Windows (where I am working and testing), in the MatLab online documentation and community help, and on the Internet as a whole. The difficulty being that is becomes one of those, "everyone ought to know this" sort of problems that make efficiencies in a small group, but delays and wasted time on a global scale. MatLab seems to have only a few million users globally. I asked "How many people use MatLab" and got 4 million. My guess would be a few times that number tried it and gave up from the search costs and memorization burden.
I wish there were "Like" and "Donate" or "Support" buttons next to each thing contributed. And beside each person and their suggestion or contribution. With no way to know what people are doing, and how well, it is hard to find anything on these MathWorks pages. It is almost two millions pages of text, with no overall curation, indexing, de-duplication (a much more compact respresentation), or index by value. MatLab cannot afford world-class indexing, and has not tried by itself. Relying on Google and search engines is iffy, since they make their money by clicks and not by value provided to society.
What is a suitable value for your time? If I spend an hour searching, then find an answer here in a few minutes, my best strategy would be to come here first, get a quick and precise answer, then donate to support the ones here giving their time. The problem being it taps a human brain for that information, which won't work if there are more than one person asking at a time. And, I see it every day on the Internet, as soon as money becomes expected, then the processes get gamed to make things more complex and more delayed to raise the price and income for a human worker.
Richard K Collins
2021-3-25
编辑:Richard K Collins
2021-3-26
The comments and answers were helpful. But my original question still has not been answered. The figures still stay in the output area and are not coming up in a separate window that I can move around. I would like the Output Area to be a undockable. It does not even have the standard capabilities. The controls to "output on right", "Output inline", "Hide code" are too limited. If all areas are treated equally, then the Output Area would be a separate area that could be docked, moved, resized, minimized. Particularly, it would be a separate window that I could actually work with, no shoved indiscrimantly into some second class area part of something else.
Here is my version as of 25 Mar 2021 about 2:40 pm Houston Texas time:
This is a horrible editor. It should recognize code and make it alive. Why am I having to cut and paste code into text - it is not words and text, it is a live MatLab program that works. Or would, if you just treat it properly. That business of the A = S + '\n'; not working is just bad. I tried fprintf(S + '\n') and it would not work. The people writing the parsers have this one possibility per situation mentality. If the intent is clear enough to offer only a few possibilities, then let the person choose, or just warn and try your best. The world is more using one time code that gets later improved. During development be more flexible. When you program as much as I do, my time is more valuable than syntax. One syntax programmer can make rules that waste millions of hours for users. Or save them. At $32 per hour for the current value of human time on the Internet, save millions of hours and it should show up in your bonuses and earnings and stock options. Or just fame.
----------------------------------
Url = 'http://service.iris.edu/irisws/timeseries/1/query?net=AV&sta=DLL&cha=HDF&start=2011-01-01T00:00:00&end=2011-01-01T00:03:00&scale=AUTO&format=ascii1&loc=03';
Text = webread(Url);
Lines = strsplit(Text,'\n');
N = length(Lines) - 1;
NoteNum('There are %d records', N);
Note('Please wait. Extracting values');
values = str2double(Lines(2:end));
NoteNum('Done getting %d values from the text.\n', N);
Layout(values);
function Layout(values)
set(0, 'DefaultFigureVisible', 'on');
N = length(values);
figure('Name', 'My 5 plots', 'NumberTitle', 'off');
Plot1(2,3,1, 1:N-1, diff(values,1),'First Plot');
Plot1(2,3,2, 1:N-2, diff(values,2),'Second Plot');
Plot1(2,3,3, 1:N-3, diff(values,3),'Third Plot');
Plot1(2,3,4, 1:N-4, diff(values,4),'Forth Plot');
Plot1(2,3,5:6, 1:N, values,'Raw Data');
end
function Plot1(rows, columns, Place, Xs, Ys, MyTitle)
subplot(rows, columns, Place);
plot(Xs,Ys);
grid on;
title(MyTitle);
end
function Note(S)
fprintf(S + "\n");
end
function NoteNum(S,Num)
fprintf(S + "\n",Num);
end
7 个评论
Jan
2021-3-26
编辑:Jan
2021-3-26
This is a bad idea:
Note('Please wait. Extracting values');
NoteNum('Done getting %d values from the text.\n', N);
function Note(S)
A = strcat(S,'\n');
fprintf(A'); % Why transposing A?
end
Using A transparently a format string for the fprintf command is dangerous. One day you will try to display the name of a file with this, and 'C:\Your\File' let Matlab crash, because '\Y' is not a valid character. Displaying % characters will let you fail also.
Safer:
function Note(S)
fprintf('%s\n', S);
end
With NoteNum this gets even more complex. But it would be easy to use fprintf directly.
"That business of the A = S + '\n'; not working is just bad."
Use strings instead (notice the double quotes):
A = S + "\n"
"At $32 per hour for the current value of human time on the Internet, save millions of hours and it should show up in your bonuses and earnings and stock options. Or just fame."
It would save the time of the editors, if you format your code in the forum by your own to improve the readability. Just select the code with the mouse and press the left icon in the Code section of the tools.
Richard K Collins
2021-3-26
编辑:Richard K Collins
2021-3-26
@Jan Thanks for the suggestions. That A' was a typo.
I really do not follow what you are trying to say about the properties of the fprintf function.
Thanks for telling my how to specify strings. I knew that was in there somewhere, but could not find it. So what are single quote for? Nevermind I will look. I am taking too much of your time. I simply cannot remember fprintf. It is a leftover name from days when people actually printed on paper. Now it is strings and diplay areas, titles and captions, parsing strings and parsing websites. I am not printing, I am logging or posting a note. There are better ways, I just was trying something. I was just trying to wrap an unmemorable or misleading name, and that having to add a line feed in a function into a short name with simpler syntax. I might use Note(), but I refuse to use fprintf. I used double quotes.
You bring up a lot that is wrong with MatLab handling of strings. Every tiny function, every different situation requires memorization of eclectic syntax and rules.
I wanted to see what this Answer area was about, to give some feedback to MatLab. I still do not know what this Answer area is for. New people will all have trouble with the documentation and examples and layout of the program and an online versions. Too much, too scattered, too many things missing, no interaction, the editor should take care of all that. The human editors for the site and programs and documentation and examples and the intelligence behind all human interactions in the program and online.
I read some of the Live Editor examples earlier. They have broken links, missing files, are just plain wrong using statistical methods. The thing I dislike the most is everything that the MatLab answers and examples are not traceable or attributable to an author or group. Traceable if they need to be corrected, or improved. Atributable, if they are doing a good or great job, they should be thanked, and accordingly rewarded. A program is a living thing. It can be constantly improved. As the world is changing so too every program and its authors must be open to change and clear and open records kept for verification.
Thanks for your time. The only thing I know to do is rewrite the documentation, or the language or both, or go find something better. I promised some people in the GitHub and related Python groups I would look at what they are doing, and I still see 78,656 repositories an 2,465 users on GitHub mentioning or using MatLab. Or see if I can make any sense of the 1.29 million entry pages at site:mathworks.com/matlabcentral/answers, many in other languages.
Richard Collins, Director, The Internet Foundation
Walter Roberson
2021-3-27
Single-quotes mark a row vector of characters. S = 'hello' is the row vector of two-byte unsigned values numeric [104 101 108 108 111] marked as being char, where those values are unicode code positions. As it is a vector, you can index individual characters in it using, and length(S) replies with the number of characters (5 in this case). As it is inherently numeric internally (code positions) MATLAB allows you do arithmetic on it, so for example
S = 'IBM'
S = 'IBM'
S1 = S-1
S1 = 1×3
72 65 76
char(S1)
ans = 'HAL'
This is very useful in programming, such as
[3 1 4 1 5] + '0'
ans = 1×5
51 49 52 49 53
char(ans)
ans = '31415'
which is a classic way of moving from numeric digits to representing characters
newline, \n, char(10) is just another character, and using the + operator with it adds 10 to each character position
char('31415' + newline)
ans = '=;>;?'
consistent with the rules for vector arithmetic.
Double-quotes mark string objects. S = "hello" is a scalar string object, and length(S) is 1 reflecting that it is a single string. Finding out the number of characters in the string requires either extracting the character vector from the string object length(S{1}), or else using strlength(S) . The + operator is defined for string objects as concatenation.
"hello" + newline
ans =
"hello
"
Is it wrong that A+'\n' does not concatenate the character pair '\' and 'n' to the end of A ? NO. Doing arithmetic on vectors of characters is useful in itself, and treating character sequences as vectors of characters is very useful for tasks such as parsing
S = 'Hello, Richard';
S(ismember(S, 'A':'Z'))
ans = 'HR'
Notice that even the operation 'A':'Z' relies upon treating character sequences as vectors of characters, and extracting individual characters from the character sequence uses exactly the same familiar indexing operations.
Now try that with using string objects: there is no string() object facility to extract more than one character at a time from a string object by position, other than using regexp patterns.
Indeed, how would you program it using javascript... without using regexp? charAt() only accepts scalar positions.
There are times when you need to have ready access to the individual characters, and MATLAB's classic character vectors with '' delimiters give that to you. There are other times when you want to treat a character sequence as an entire object, and MATLAB's newer string() objects with "" delimiters give that.
Walter Roberson
2021-3-27
The thing I dislike the most is everything that the MatLab answers and examples are not traceable or attributable to an author or group. Traceable if they need to be corrected, or improved. Atributable, if they are doing a good or great job, they should be thanked, and accordingly rewarded.
Have a look at this:

Notice the chain-link icon at the right hand side, just to the left of the flag. Click on that chain link and you will get a pop-up, something like

The URL given is the direct link to the material, and can be cited in any style that permits citing URLs at all.
If you want to attribute, then

The names there are links to short information pop-ups such as

and if you click the name, that again is a link that takes you to the user's profile page such as

The section to the left contains whatever information the person has chosen to share. You can cite the person using the profile URL, and you can include whatever information about affiliation that they have posted (remembering that the information might not have been verified.)
On some author pages you will see a link to send an (email) message to the person; it is up to the person to activate that if they want. It is not turned on by default because any facility like that is open to abuse.
Is it citation in a published paper in a journal? No. On the other hand, the papers I published were all at places that literally do not exist any more (politics!!), so I can't be reached there anyhow.
Richard K Collins
2021-3-27
Thanks. But what I was referring to are the example scripts, documentation with examples and many other pages on MathWorks.com and elsewhere - no way to know who wrote the page, if they are actively working, or just randomly posting things. If they have backgrounds that warrant reading what they posted. This comment springs from going through what were supposed to be examples of using MatLab -- that I know are just wrong. Poorly done and that will give the wrong answers. Anyone following that is going to get into trouble with real data. They were slinging an app at a problem. And then I looked at a few more and found the same thing. The authors (inside MathWorks? other people?) were not documenting the context and and where the method is applicable.
I literally have to deal with problems like how to train billions of people. Tiny mistakes can waste billions of years of human time. And I can measure these impacts, and see where these kinds of mistakes are made. So it is not just academic. I spent years modeling economic and social impacts on a global scale. So it bothers me to find large groups using bad methods. It is kind of like finding a bad teacher who is affecting many students - giving them the wrong tools and methods. The MatLab community might be self-correcting. I am going to look. But there is a lot of material on the Internet. It might be out of date and they will say, "Oh, that is old stuff, we know better now". But the community is not cleaning up.
On Wikipedia it is common for well written and correct articles to be "rewritten" and come out worse. Or to take a well covered topic and spread it out into dozens of fragments. I know why it happens, because anyone one can change what has already been done and there are no checks and balances, except for random people. The same things happens in the DNA genealogy community, where there are tens of thousands of copies of the family data for a person. Or where they try to make one, and only one. There are rules and methods to stabilize those situations. But it is not easy.
People use MatLab to solve problems, but there are a lot of people trying to use it to learn methods. If they post their work, and it is wrong, and you cannot locate them to gently suggest they change, That hurts anyone who just sees it as an example -- "of course, it is published by MathWorks, it must be right". Do you get what I am hinting at? There is not even peer review. Or does not appear to be. That is why I said I will see if the community is self-correcting. I am working on dozens of other things, and only have a few hours a day to devote to the MatLab community. But I want tools for myself for some things that need to be simplified. I find large communities (tens of millions) where they are wasting a lot of time using inefficient methods. The usual thing is someone finds that and then wants to make money from selling a bit of knowledge. I inject the answers or ideas or memes and they automatically self correct. All these global scale communities have internal and personal needs. But they also have a purpose and organization, usually subconscious at a social level, that causes global changes that can be tracked.
You have heard that story about an idea bubbling up. "If Newton had not lived, the ideas would have been there anyway"? I can quantify that now, because the speed and interconnectedness of the Internet allows for finding groups that are all working on a common problem. I have done that kinds of looking almost 20,000 times in the last 23 years. And it is almost universally true that if you can think of something "new or better", there are already tens of thousands who have worked on all the parts of it, for many years. But they have not found each other and are not working together.
So, with MathWorks not formally tracking contributions to the MatLab community, nor organizing the Internet material, nor checking to see what the rest of the world is doing - you have a community of a few million people acting as a blind organism. And prey to more adept and agile groups. Or just a waste. You can see why I make short comments "that is bad"? I have this amount of stuff in mind and each piece can take days or months or years to map and clarify. I work 120 hours a week usually and have for the last 23 years since I am working on this full time. I almost never forget anything large. I thnk it is important to solve these global problems, to find ways for people to work in groups of millions or billions for the good of the whole human species. But I am forced to use tools and a weak human memory for much of it, that are less than perfect.
There are millions of calculators and models running on the Internet now. It is one of the fastest growing items. They all use different methods, different referencing methods (they use equations and calibrations from somone else), and often are wrong or broken. I was thinking that MatLab or Mathematica or another tool could replace all or most of them. Now practically a good toolkit would be picked up by those online authors (writing toolkits for that sort of thing from scratch) and over time the system would heal itself presenting a few interfaces and human-computer paradigms to the whole of the Internet community - rather than the mess of non-standard and time wasting methods now. The advantage of just a few toolkits is that it would be possible to merge all the models and have a global and complete set of all the phenomena, engineering, mathematical, scientific, and other profession rules and guides avaliable to everyone. And it would be possible to check and cross check all of them. I can find the core models and put them together. What I cannot do is get al the bad copies and partial one to refer to the best-in-the-world few. It is a delicate balance. Too few and monopolies and manipulation always occur. Too many and so much time is wasted in finding things, it is easier to develop things from scratch. Right now massive duplication and parallel reinvention is going on - in every part of human life and society. It is wasteful, especially when billions of people get trained in the wrong things, or are not prepared, or simply cannot find answers to things that have been well known and well understood for hundreds of years or decades, or just that last few months, but in thousands of group globally.
Covid is the the same, just it only has a relatively small number of people and groups using quantitative methods and models. So I have to track data flows and human-based rule processes and procedures. That is a simple Internet problem, but socially I cannot force people to change. Even with lives at stake. No one listens, and too many people benefit from things the way they are.
Richard Collins, Director, The Internet Foundation
Samuel
2025-1-23
From a random MATLAB user who came across this thread... Thank you Jan and the rest of the MathWorks Answers community. There are many of us out here that know that you do listen. Thank you for listening and all the work you do.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Text Data Preparation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!发生错误
由于页面发生更改,无法完成操作。请重新加载页面以查看其更新后的状态。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)