我想知道是否有办法提前检查我可能通过下载的文件的大小wget
?我知道使用该--spider
选项告诉我文件是否存在,但我也有兴趣找到该文件的大小.
我在bash上很新,所以这是一个非常棒的问题..
假设我有一个字符串:
string1 [string2] string3 string4
Run Code Online (Sandbox Code Playgroud)
我想string2
从方括号中提取; 但是括号可能在任何其他时间围绕任何其他字符串.
我如何使用sed
等来做这个?谢谢!
我正在开发一个相当复杂的GUI程序,可以使用MATLAB Compiler进行部署.(有很好的理由使用MATLAB来构建这个GUI,这不是这个问题的重点.我意识到GUI构建不适合这种语言.)
有很多方法可以在GUI中的函数之间共享数据,甚至可以在应用程序中的GUI之间传递数据:
setappdata/getappdata/_____appdata
- 将任意数据与句柄相关联guidata
- 通常与GUIDE一起使用; "存储[s]或检索[s] GUI数据"到句柄结构set/get
操作应用于UserData
句柄对象的属性我的代码的结构不是最漂亮的.现在我将引擎与前端隔离开来(好!)但GUI代码很像意大利面条.这是一个"活动"的骨架,借用Android说话:
function myGui
fig = figure(...);
% h is a struct that contains handles to all the ui objects to be instantiated. My convention is to have the first field be the uicontrol type I'm instantiating. See draw_gui nested function
h = struct([]);
draw_gui;
set_callbacks; % Basically a bunch of set(h.(...), 'Callback', @(src, event) callback) calls would occur here
%% DRAW …
Run Code Online (Sandbox Code Playgroud) 我提前为这个问题道歉.我不喜欢"解释此代码"的问题,但我找不到任何关于我的具体示例的文档.
背景
我的问题是这个.我试图将一些MATLAB代码翻译成C#,但我同时还要学习MATLAB.我不与任何知道MATLAB代码的人合作,我无法访问MATLAB,所以我无法测试任何代码,我找不到任何关于以下问题的文档.所以...
问题(S)
在某处可以使用免费的在线/桌面MATLAB编译器/解释器来测试MATLAB代码吗?
...要么...
是否有人可以解释以下代码段:
someVar.member1=myValue1;
someVar.member2=myValue2;
if (myCondition)
for i=1:myTotal
someVar(i).member3=myValue3;
end;
end;
Run Code Online (Sandbox Code Playgroud)
这是否someVar
成为一个数组?难道我失去了member1
和member2
或者它救什么我已不知何故?
我正在研究一种数学模型,该模型使用XFOIL生成的数据,XFOIL是一种流行的航空航天工具,用于查找机翼上的升力和阻力系数.
我有一个Perl脚本,它使用不同的输入参数重复调用XFOIL,以生成我需要的数据.我需要XFOIL运行5,600次,每次运行大约100秒,结束6.5天完成.
我有一台四核机器,但我作为程序员的经验是有限的,我真的只知道如何使用基本的Perl.
我想一次运行四个XFOIL实例,所有实例都在自己的核心上.像这样的东西:
while ( 1 ) {
for ( i = 1..4 ) {
if ( ! exists XFOIL_instance(i) ) {
start_new_XFOIL_instance(i, input_parameter_list);
}
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我们可以使用新的输入参数列表启动新实例时,程序正在检查(或最好是休眠)直到XFOIL实例空闲.
假设我有一堂课myClass < handle
.从Mathworks帮助页面上clear
,
清除句柄图形句柄不会删除对象本身,删除对象也不会删除存储其句柄的变量.
hf = figure; % Creates figure object, stores handle in variable hf
delete(hf) % Removes figure object, but not the variable hf
clear hf % Removes hf from the workspace; figure could still exist
Run Code Online (Sandbox Code Playgroud)
所以clear
句柄对象不会将其从内存中删除,除非我先明确delete
它.
我指定了一个析构函数myClass
来进行适当的清理并删除一些引用; 这个析构函数没有被调用clear
.当我的对象被清除时,是否可以调用该析构函数?
编辑:我要提的是,虽然delete
自动与一个名为clear
如果有到无的参考myClass
对象,我有另一个类,说myOtherClass
与参考性质myClass
,说myOtherClass.a
.还有其他属性myOtherClass
不是属性myClass
,但如果它们myOtherClass.a
也是空的,它们应该是空的.如果这没有意义,请告诉我,这可能有点过于冗长.
假设我有一个单元阵列A
和B
,像这样:
A = {'A' 'B' 'C' 'D'};
B = {1 2 3 4 };
Run Code Online (Sandbox Code Playgroud)
我想C
通过"压缩"A和B 来创建单元阵列,如下所示:
C = zip(A,B)
C =
'A' 1 'B' 2 'C' 3 'D' 4
Run Code Online (Sandbox Code Playgroud)
这样的功能存在吗?(显然这样的函数写起来并不困难,但是懒惰是程序员最好的朋友,如果这样的函数已经存在,我宁愿使用它.)
(我从Perl那里得到了这个想法,其中List::MoreUtils
包提供了zip
执行此操作的功能.该名称来自于zip
函数交错两个列表,如拉链.)
我有两个matricies,对应数据点(x,y1)
和(x,y2)
:
x | y1
------------
0 | 0
1 | 1
2 | 2
3 | 3
4 | 4
5 | 5
x | y2
----------------
0.5 | 0.5
1.5 | 1.5
2.5 | 2.5
3.5 | 3.5
4.5 | 4.5
5.5 | 5.5
Run Code Online (Sandbox Code Playgroud)
我想创建,结合了一个新的矩阵x
值成一列,并具有NaN
S IN合适y1
,y2
列:
x | y1 | y2
-----------------------------
0 | 0 | NaN
0.5 | NaN | 0.5
1 | 0 | NaN …
Run Code Online (Sandbox Code Playgroud) 假设我有以下课程:
classdef myClass < handle
properties
A = 1
end
methods
function obj = myClass(val)
obj.A = val;
end
end
end
Run Code Online (Sandbox Code Playgroud)
假设我实例化了这个类的一个实例,然后稍微操作它然后复制它.由于它是一个句柄类,"副本"实际上只是同一个对象的另一个实例:
>> q = myClass(10);
>> q.A = 15;
>> w = q;
>> disp(w.A)
15
Run Code Online (Sandbox Code Playgroud)
但是我想观察A
而不需要实例化myClass.天真地做着
>> value = w.A
Run Code Online (Sandbox Code Playgroud)
不起作用,因为这只是复制价值; w.A
后来长宁不会改变value
.
有没有办法提供"指针"或"引用"而w.A
无需创建单独的句柄类?我宁愿保留符号w.A
而不是像w.A.value
(我必须创建句柄类来包含该值).
编辑:我正在使用此功能,以帮助封装我的代码,以供我的研究实验室使用.我正在设计MATLAB和Arduino之间的接口来控制空中和地面车辆; 我希望能够访问诸如" vehicle.pwmMax
"," vehicle.flightCeiling
"之类的东西来封装底层对象:" vehicle.Globals.pwmMax.value
"等.
假设我有以下类来计算二次方程的解:
classdef MyClass < handle
properties
a
b
c
end
properties (Dependent = true)
x
end
methods
function x = get.x(obj)
discriminant = sqrt(obj.b^2 - 4*obj.a*obj.c);
x(1) = (-obj.b + discriminant)/(2*obj.a);
x(2) = (-obj.b - discriminant)/(2*obj.a);
end
end
end
Run Code Online (Sandbox Code Playgroud)
现在假设我运行以下命令:
>>quadcalc = MyClass;
>>quadcalc.a = 1;
>>quadcalc.b = 4;
>>quadcalc.c = 4;
Run Code Online (Sandbox Code Playgroud)
此时,quadcalc.x = [-2 -2]
.假设我quadcalc.x
多次调用而不调整其他属性,即quadcalc.x = [-2 -2]
每次我要求这个属性.被quadcalc.x
重新计算每一次,还是会只是"记住" [-2 -2]
matlab ×6
oop ×3
matlab-class ×2
arrays ×1
bash ×1
command-line ×1
dataframe ×1
destructor ×1
matlab-guide ×1
multicore ×1
numpy ×1
pandas ×1
perl ×1
python ×1
sed ×1
wget ×1